有一个具有以下结构的表:




这是此表中的数据:

mysql - MySQL中的排序规则-LMLPHP

好的,让我们尝试以下方法:

选择
LOWER(md5_upper_bin),
LOWER(md5_upper_ge_ci),
UPPER(md5_lower_bin),
UPPER(md5_lower_ge_ci)
来自qwew



结果是:

mysql - MySQL中的排序规则-LMLPHP


问题:为什么后缀_bin被忽略了?根据MySQL manual,我们可以说_bin也会影响LOWER和UPPER之类的功能(并且使它们不起作用,因为在这些字段中使用了二进制类型的协作)。但是我们在实践中又得到了另一个结果。为什么?

最佳答案

CHARVARCHAR存储nonbinary strings,而不存储二进制字符串。对于BINARY归类,必须将实际的列类型更改为VARBINARY_bin,以影响应用于其中数据的UPPERLOWER函数。

关于mysql - MySQL中的排序规则,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4912981/

10-12 07:29