MySQL查询语句查询条件严格匹配大小写

数据库 piniu 968浏览 0评论

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

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: