MySQL查询时区分大小写(转)

时间:2020-12-23 16:03:31

说明:在MySQL查询时要区分大小写会涉及到两个概念character set和collation,这两个概念在表设计时或者在查询时都可以指定的,详细参考:http://www.cnblogs.com/EasonJim/p/8128196.html

MySQL查询默认是不区分大小写的 如:

select * from some_table where str=‘abc';
select * from some_table where str='ABC';

得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做:

第一种方法:

要让MySQL查询区分大小写,可以:

select * from some_table where binary str='abc'
select * from some_table where binary str='ABC'

第二方法:

在建表时时候加以标识

create table some_table(
str char() binary
)

原理:

对于char、varchar和text类型,binary属性可以为列分配该列字符集的 校对规则。binary属性是指定列字符集的二元校对规则的简写。排序和比较基于数值字符值。因此区分了大小写。

参考:

http://www.jb51.net/article/70884.htm(以上内容转自此篇文章)

http://blog.csdn.net/wangcunhuazi/article/details/46366657

https://www.cnblogs.com/trying/p/3669101.html