【发布时间】:2011-06-01 07:36:54
【问题描述】:
MySQL 中是否有任何支持区分大小写的排序规则类型。 我在 MySQL 中有所有类型的排序规则,它们的名称末尾都有 _ci,因此它们是不区分大小写的排序规则。
【问题讨论】:
MySQL 中是否有任何支持区分大小写的排序规则类型。 我在 MySQL 中有所有类型的排序规则,它们的名称末尾都有 _ci,因此它们是不区分大小写的排序规则。
【问题讨论】:
根据 MySQL 手册 http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html,您应该能够将排序规则设置为 _cs 以区分大小写。你可以通过执行SHOW COLLATION WHERE COLLATION LIKE "%_cs"查询得到_cs排序规则的列表
经过一番研究:
显然 MySQL 中还没有 utf8_*_cs。如果您需要对 utf8 字段进行区分大小写的排序规则,则应使用 utf8_bin。这会搞砸ORDER BY,但这可以通过ORDER BY column COLLATE utf8_general_ci 修复
来源:http://forums.mysql.com/read.php?103,19380,200971#msg-200971 和 http://forums.mysql.com/read.php?103,156527,198794#msg-198794
【讨论】:
utf8mb4_bin 也存在,因为现在是 2019 年 :-)
尝试以_bin 结尾的排序规则,例如latin1_bin 或utf8_bin,具体取决于您的字符集。
【讨论】:
新版本的 MySQL(8.0.1 及更高版本)(最终)带有一组 utf8mb4_*_0900_as_cs 排序规则。
更多信息here
【讨论】: