【问题标题】:Collation in MySQLMySQL中的排序规则
【发布时间】:2011-08-18 07:21:57
【问题描述】:

Collat​​e Latin1_General_CS_AS 和 Collat​​e utf8_bin 是否相同,它们是不同的,前者用于 Latin1 字符集,后者用于 utf8 字符集,但我想知道两者是否会区分大小写和区分重音。

实际上,刚才我已经将我的数据库从 sql server2000 迁移到 MySQL 5.2,并且我有一个密码字段,我想将它与 sql server 中的区分大小写和区分重音进行比较,Collat​​e Latin1_General_CS_AS 工作正常,但我想知道 Collat​​e utf8_bin是 MySQL 中的替代品,还是有其他更好的方法可以实现。

【问题讨论】:

    标签: mysql sql-server collation


    【解决方案1】:

    我不知道 SQL Server 和您提到的排序规则,但 utf8_bin 是 binary collation,确实区分大小写和重音。

    不过,您不一定需要在该排序规则中包含整个数据库 - 二进制排序规则在 sorting 中并不是很好。您可以使用COLLATE keyword 强制在非二进制排序规则(如utf8_general_ci)中进行二进制比较:

    SELECT column FROM table WHERE password COLLATE utf8_bin = "abcäöü"; 
    

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 2018-12-19
      • 2011-11-15
      • 2011-10-22
      • 2010-11-27
      • 2011-11-28
      相关资源
      最近更新 更多