我有这样的表:
Table name: hash_table
----------------
id hash
----------------
1 abc
2 aBc
3 abC
4 AbC
5 ABc
----------------
小写和大写字符之间存在差异。例如abc
不平等aBc
.
在此查询中,返回所有行:
SELECT * FROM `hash_table` WHERE `hash` = "abc"
通过stackoverflow搜索,有一些答案谈到UPPER
, LOWER
和 UCASE
在选择查询中使用,但它们返回所有行。
有没有办法只返回正确的行?
最佳答案
字符串比较可以在sql中以两种不同的方式执行..二进制和非二进制.. 如果您不转换二进制..比较不区分大小写..如果您使用二进制则比较按字节完成并且也区分大小写..
尝试使用
SELECT * FROM `hash_table` WHERE BINARY `hash` = BINARY "abc"
关于MySQL根据大小写字符的差异进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183293/