mysql区分大小写查询

  • 发表时间:2019-09-11 11:14:03
  • 179人已阅读
摘要mysql默认是不区分大小写的,只要查询大小或者小写的时候该怎么办呢?

mysql默认是不区分大小写的,只要查询大小或者小写的时候该怎么办呢?


有如下表结构和数据

namepasswdmark
AA-21344 44
aa-213AA-213dddabc

      

用SELECT * FROM `sample` where LEFT(`name`,2)='aa'

会把两条记录都查出来


方法一:

用SELECT * FROM `sample` where BINARY LEFT(`name`,2)='aa' 则可以只查询前缀为小写的aa的那条记录

这里用到了关键词binary 


方法二:

在建表的时候设置字符集及排序规则 或者修改表结构


设置字符集及排序规则方法:

例如字符集为utf8,则排序规则设置为utf8_bin,如果设置为utf8_general_ci则不区分大小写了


修改表结构方法:

ALTER TABLE `sample` 

MODIFY COLUMN `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL;



上一篇:mysql对比两个字符串

下一篇:没有啦

Top