MySQL中的排序规则
问题描述:
Collate Latin1_General_CS_AS和Collate utf8_bin是否相同,它们是不同的,前者用于Latin1字符集,后者用于utf8字符集,但我想知道两者是否会执行区分大小写和Accent敏感匹配。MySQL中的排序规则
其实刚刚我已经将我的数据库从sql server2000迁移到MySQL 5.2,并且我有一个密码字段,我想与大小写敏感和Accent敏感的SQL Server进行比较,它的分页Latin1_General_CS_AS工作正常,但我想知道分页utf8_bin是MySQL中的替代品,或者还有其他一些更好的方法来实现。
答
我不知道SQL服务器和您提到的排序规则,但是utf8_bin
是binary collation,确实是区分大小写和区分重音的。
虽然您不一定需要在整理中使用整个数据库,但在sorting时二进制整理不是很好。您可以在非二进制排序规则(如utf8_general_ci
)中强制执行二进制比较,使用以下代码::
SELECT column FROM table WHERE password COLLATE utf8_bin = "abcäöü";