MySQL中的区分大小写排序规则

时间:2010-12-29 23:14:48

标签: mysql database

MySQL中是否存在支持区分大小写的Collat​​ion类型。 我在MySQL中拥有所有类型的排序规则,它们的名称末尾都有_ci,因此它们是不敏感的排序规则。提前谢谢。

3 个答案:

答案 0 :(得分:75)

根据MySQL手册http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html,您应该能够将排序规则设置为_cs以区分大小写。您可以通过执行_cs查询

获取SHOW COLLATION WHERE COLLATION LIKE "%_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-200971http://forums.mysql.com/read.php?103,156527,198794#msg-198794

答案 1 :(得分:10)

尝试以_bin结尾的归类,例如latin1_binutf8_bin,具体取决于您的字符集。

答案 2 :(得分:2)

新版本的MySQL(8.0.1及更高版本)(最终)带有一组utf8mb4_*_0900_as_cs排序规则。

有关它的更多信息here