MySQL select 通过大小写字符的区别
MySQL select by difference between lowercase and uppercase characters
我有 table 这样的:
Table name: hash_table
----------------
id hash
----------------
1 abc
2 aBc
3 abC
4 AbC
5 ABc
----------------
大小写字符有区别。例如abc
不等于aBc
.
在此查询中,return 所有行:
SELECT * FROM `hash_table` WHERE `hash` = "abc"
通过在 Whosebug 中搜索,一些答案谈到 UPPER
、LOWER
和 UCASE
在 select 查询中使用,但它们 return 所有行。
有没有办法return只纠正行?
可以在 sql 中以两种不同的方式执行字符串比较..二进制和非二进制..
如果你不转换二进制..比较是不区分大小写的..如果你使用二进制比较是按字节完成的并且也是区分大小写的..
尝试使用
SELECT * FROM `hash_table` WHERE BINARY `hash` = BINARY "abc"
我有 table 这样的:
Table name: hash_table
----------------
id hash
----------------
1 abc
2 aBc
3 abC
4 AbC
5 ABc
----------------
大小写字符有区别。例如abc
不等于aBc
.
在此查询中,return 所有行:
SELECT * FROM `hash_table` WHERE `hash` = "abc"
通过在 Whosebug 中搜索,一些答案谈到 UPPER
、LOWER
和 UCASE
在 select 查询中使用,但它们 return 所有行。
有没有办法return只纠正行?
可以在 sql 中以两种不同的方式执行字符串比较..二进制和非二进制.. 如果你不转换二进制..比较是不区分大小写的..如果你使用二进制比较是按字节完成的并且也是区分大小写的..
尝试使用
SELECT * FROM `hash_table` WHERE BINARY `hash` = BINARY "abc"