jon*_*ham 0 php mysql select case-sensitive
我想用likein select子句过滤我的列,likeMySQL中的默认值是不区分大小写的,但我希望它区分大小写.怎么做?
我想要这个查询:
select * from my_table where column1 like '%abc%'
Run Code Online (Sandbox Code Playgroud)
而这个查询:
select * from my_table where column1 like '%Abc%'
Run Code Online (Sandbox Code Playgroud)
给出不同的结果.
默认字符集和排序规则是
latin1和latin1_swedish_ci,因此非二进制字符串比较默认情况下不区分大小写.这意味着,如果使用搜索col_name LIKE 'a%',则会获得以A或开头的所有列值a.要使此搜索区分大小写,请确保其中一个操作数具有区分大小写或二进制排序规则.例如,如果要比较具有latin1字符集的列和字符串,则可以使用COLLATE运算符使操作数具有latin1_general_cs或latin1_bin排序规则:Run Code Online (Sandbox Code Playgroud)col_name COLLATE latin1_general_cs LIKE 'a%' col_name LIKE 'a%' COLLATE latin1_general_cs col_name COLLATE latin1_bin LIKE 'a%' col_name LIKE 'a%' COLLATE latin1_bin
MySQL :: MySQL 5.6参考手册:: C.5.5.1字符串搜索中的区分大小写(增加了重点)