之前就想到过SQL查询时如何严格匹配查询条件,但只是都是一瞬的想法,并没有在实际中用到或者专门查过
今天就总结一下:
create table user ( id int primary key, name varchar(30) ); insert into user (id,name) values (1,'AAA'); insert into user (id,name) values (2,'BBB'); insert into user (id,name) values (3,'aaa'); insert into user (id,name) values (4,'bbb');
在查询语句中,只差一个单词binary,会出现不同的结果
select * from user where name like '%A%'; select * from user where name like '%a%'; ##与第一句执行效果一样 select * from user where binary name like '%A%'; --只匹配大写A select * from user where binary name like '%a%'; --只匹配小写a
另外:在建表时也可以设置强制区分大小写的字段
create table user ( name varchar(10) binary ); insert into user (name) values ('AAA');
执行SQL
select * from user where name like '%a%'; --结果为空 select * from user where name like '%A%'; --可以查出来