sql查询时区分大小写等

1、SQL Server

     -- SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS ='字符'    

     -- SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS like '%字符%'    

     -- SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS in('字符1','字符2',...)  

     Chinese_PRC_ 对大陆简体字UNICODE的排序规则

       C:case,大小写
  A:accent,重音
  K:kanatype,假名
  W:width,宽度
  I:insensitive, 不敏感,不区分
  S:sensitive,敏感,区分
  如 CS 就是case-sensitive,区分大小写,AS就是accent-sensitive,区分重音

2、MySql

     -- SELECT * FROM U WHERE NAME LIKE 'g%';  

     -- SELECT * FROM U WHERE NAME LIKE 'G%';  

         其结果是一样的  

     -- SELECT * FROM U WHERE binary NAME LIKE 'g%';  

     -- SELECT * FROM U WHERE binary NAME LIKE 'G%';  

         多加一个binary,就可以得到不同的结果!

     如果需要建表时强制区分大小写,可以:

     -- create  table  U(    

             name varchar (20) binary      

         );  

3、通常不建议设置数据库中的字段大小写敏感。

     若数据库的数据量达到百万级,字段类型变可能导致数据库宕机。

猜你喜欢

转载自my.oschina.net/u/3496297/blog/1604946