select * from tbXXX where col1 collate chinese_prc_CS_Ai = 'aaa'select * from tbXXX where col1 collate chinese_prc_CS_Ai = 'AAA'

解决方案 »

  1.   

    select * from tbXXX where upper(col1) = 'AAA'
     
    select * from tbXXX where lower(col1) = 'aaa'
      

  2.   

    谢谢,答案是对的,但是不知道collate  chinese_prc_CS_Ai  具体含义是什么,难道sqlserver数据库的varchar类型字段比较都要这样写吗?那我们的项目很多后台数据库查询操作都要改了,郁闷啊。
      

  3.   

    修改目标库的默认排序规则和字段排序规则为:chinese_rpc_cs_ai
    字段类型用:Nchar,Nvarchar,Ntext改库
    ALTER DATABASE database
     COLLATE ....
    改字段
    alter table 表名 alter column 字段名 类型 collate ....
    或设计表中修改.OR:Where UserID collate chinese_prc_CS_Ai  =@userid and 
      

  4.   


    collate  chinese_prc_CS_Ai 是把这一个字段定义为区分大小写
      

  5.   

    CrazyFor(蚂蚁),你好:
    修改目标库的默认排序规则和字段排序规则为:chinese_rpc_cs_ai
    字段类型用:Nchar,Nvarchar,Ntext难道用varchar类型的字段不行吗?非要用Nvarchar?
      

  6.   

    更改排序规则。alter database 数据库 collate 排序规格
    其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。如:alter database 数据库 COLLATE Chinese_PRC_CI_AS 
        不区分大小写,而
        alter database 数据库 COLLATE Chinese_PRC_CS_AS 
        使之区分大小写。使用如下命令,可以获得更多的规则:
    SELECT *
    FROM ::fn_helpcollations()