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 中搜索,一些答案谈到 UPPERLOWERUCASE 在 select 查询中使用,但它们 return 所有行。

有没有办法return只纠正行?

可以在 sql 中以两种不同的方式执行字符串比较..二进制和非二进制.. 如果你不转换二进制..比较是不区分大小写的..如果你使用二进制比较是按字节完成的并且也是区分大小写的..

尝试使用

SELECT * FROM `hash_table` WHERE BINARY `hash` = BINARY "abc"