MySQL根据大小写字符的差异进行选择

标签 mysql uppercase lowercase

我有这样的表:

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 , LOWERUCASE在选择查询中使用,但它们返回所有行。

有没有办法只返回正确的行?

最佳答案

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

尝试使用

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

关于MySQL根据大小写字符的差异进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183293/

相关文章:

mysql - 根据列值对分层 SQL 行进行排序

php - Doctrine 实体管理器更新时重复插入

c++ - 大写到小写,反之亦然

java - string.toUppercase() 在堆或字符串池中创建了一个新对象

java - 如何将字符串中每个单词的第一个字符大写

c++ - 为什么 towlower() 函数不将 Я 转换为小写 я?

mysql - solr 模式中的日期时间字段

javascript - 如何在 Node js 中使数组脱离函数?

cocoa - 如何将 NSAttributedString 中的字符大小写更改为大写

Java - 在不使用 toUppercase() 的情况下将小写字母转换为大写字母