有一个具有以下结构的表:
以下是该表中的数据:
SELECT LOWER(md5_upper_bin), LOWER(md5_upper_ge_ci), UPPER(md5_lower_bin), UPPER(md5_lower_ge_ci) FROM qwew
结果是:
问题:为什么后缀_bin
被忽略了?根据MySQL manual ,我们可以说 _bin
也会影响像 LOWER 和 UPPER 这样的函数(并且使它们不起作用,因为这些字段中使用了二进制类型的集合)。但我们在实践中得到了另一个结果。为什么?
最佳答案
CHAR
和 VARCHAR
存储 nonbinary strings ,而不是二进制字符串。您必须将实际列类型更改为 BINARY
或 VARBINARY
才能使 _bin
排序规则影响 UPPER
和 LOWER
函数应用于其中的数据。
关于mysql - MySQL 中的排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912981/