SELECT collation_name
FROM sys.databases 给我看看结果

解决方案 »

  1.   

    还有一个,如果我要修改某一个字段,字段中含有'时,如何修改?
    update userinfo set password = 'abd'dfe' wher username = 'user1'
    这条语句显然执行错误,因为password中有',但是如果我就是要改成password中有',我改如何写这条语句?
    改成这样试试,把里面的单引号 写两次 就行:update userinfo set password = 'abd''dfe' wher username = 'user1'
      

  2.   

    另外,你的问题应该是排序规则的问题:你这样,把你的userinfo 表的username列的排序规则 改成Chinese_PRC_CS_AS 这个试试:
    alter table userinfo 
    alter column username 列的数据类型 collate Chinese_PRC_CS_AS
      

  3.   


    哦,那就对了,要改成这样 Chinese_PRC_CS_AS 也就是 case sentitive 就是大小写敏感的
      

  4.   


    谢谢,我试过来,没有问题,这个竟然就这么轻松搞定!呵呵,能用就好。对了 那个排序你试试 改成 Chinese_PRC_CS_AS 这个,上面有语句
      

  5.   

    alter database dbname collate Chinese_PRC_CS_AS
      

  6.   


    这个不行,只能对表字段以及表明限制大小写,对内容不限制,我试过来。
    1.  select * from userinfo where username = 'admin'
     2.  select * from userinfo where username = 'Admin'
    这两个语句执行结果还是一样的,数据库中只有admin
      

  7.   

    那只能拼接SQL来执行:ALTER   TABLE   tb  
      ALTER   COLUMN   colname   nvarchar(100)   COLLATE   Chinese_PRC_CS_AS  
      

  8.   


    这个我试了,要先把username取消主键,然后执行
    alter table userinfo 
     alter column username varchar(50) collate Chinese_PRC_CS_AS 
    再把username设置成主键,就能完成我要的功能了。谢谢!
      

  9.   

    很明显,你的数据库的排序规则中指定了不区分大小写(CI),改成区分大小写(CS)就好了。
    修改方法可以参考 http://jimshu.blog.51cto.com/3171847/1095780