有一个具有以下结构的表:
这是此表中的数据:
好的,让我们尝试以下方法:
选择
LOWER(md5_upper_bin),
LOWER(md5_upper_ge_ci),
UPPER(md5_lower_bin),
UPPER(md5_lower_ge_ci)
来自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/