select count(*) from tb_adminuser  where username = 'ADMIN'数据库里username列的值为admin
可是为什么写成ADMIN,count(*)仍然是1?
谢谢各位!

解决方案 »

  1.   

    在SQL Server 2000中,缺省的排序规则是不区分大小写的;如果你需要在某个或某些字段上实现区分大小写,那需要在创建表时指定另外的排序规则。
      

  2.   

    select count(*) from tb_adminuser  where upper(username) = 'ADMIN'
      

  3.   

    select count(*) from tb_adminuser  where username COLLATE CHINESE_PRC_CS_AS = 'ADMIN'
      

  4.   

    DECLARE @T TABLE (USERNAME VARCHAR(10))
    INSERT @T SELECT 'ADMIN'
    INSERT @T SELECT 'admin'
    select count(*) from @t where username='admin' collate Chinese_PRC_CI_AS --区分
    select count(*) from @t where username='admin' collate Chinese_PRC_CS_AS --不区分
    /*
    -----------
    2
    -----------
    1*/
      

  5.   

    sql排序规则
    如果要是区分大小写的话,就要改变数据库的排序规则。1、查看系统中所支持的全部排序规则列表         SELECT * FROM ::fn_helpcollations()2、查看当前系统的排序规则.         SELECT   SERVERPROPERTY('Collation')3、改变数据库的排序规则(做ALTER之前,要中断所有用户对此数据库的访问)语法:
              use master
              go
              ALTER DATABASE 数据库名 COLLATE 排序规则名
    例子:
              use master
              go
              ALTER DATABASE luwanzhufa COLLATE Chinese_PRC_CS_AS* 我查过。Chinese_PRC_CS_AS这个是简体中文。而且区分大小写的排序规则。192 Japanese_BIN  二进制顺序、用于 932(日文)字符集。 
    193 Japanese_CI_AS 字典顺序、不区分大小写、用于 932(日文)字符集。 
    200 Japanese_CS_AS 字典顺序、区分大小写、用于 932(日文)字符集。
    198 Chinese_PRC_BIN 二进制顺序、用于 936(简体中文)字符集。
    199 Chinese_PRC_CI_AS 字典顺序、不区分大小写、用于 936(简体中文)字符集。
    203 Chinese_PRC_CS_AS 字典顺序、区分大小写、用于 936(简体中文)字符集。
      

  6.   

    我SQL就只学了简单的select insert之类的。
    呃,麻烦各位牛人解释一下,
    排序规则跟查数据有啥关系?
      

  7.   

    在order by里面差别就大了,包括区分不分大小写,区分不区分重音等,不同的排序规则返回结果是不一样的!
      

  8.   

    create TABLE #T(username VARCHAR(10))
    INSERT #T SELECT 'ADMIN'
    INSERT #T SELECT 'admin'select count(*) from #T where username='ADMIN'
    -----------
    2(1 行受影响)