之前就想到过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%'; --可以查出来