有一DB,名为ABC。其中有个表,叫Ta_ABC
在collate为Japanese_CI_AS的情况下,执行select * from ta_abc ----(请注意表的大小写)
可以将此表数据查处
将此DB的collate改为Chinese_PRC_CI_AS , 执行select * from ta_abc
错误提示:无效ta_abc。问题:sql执行语句 是否 区分大小写 是不是与排序规则有关?

解决方案 »

  1.   

    CI是不区分大小写的SQL 排序规则名称
    为 SQL 排序规则指定排序规则名称的单个字符串。语法
    < SQL_collation_name > :: =     SQL_SortRules[_Pref]_CPCodepage_<ComparisonStyle>    <ComparisonStyle> ::=
            _CaseSensitivity_AccentSensitivity | _BIN参数
    SortRules标识字母表或语言的字符串,当指定按字典排序时应用该字母表或语言的排序规则。例如 Latin1_General 或波兰语。Pref指定大写字母优先。Codepage指定标识排序规则所使用的代码页的 1 至 4 个数字的号码。CP1 指定代码页 1252,对于所有其它代码页指定完整代码页号码。例如,CP1251 指定代码页 1251,CP850 指定代码页 850。CaseSensitivityCI 指定不区分大小写,CS 指定区分大小写。AccentSensitivityAI 指定不区分重音,AS 指定区分重音。BIN指定使用二进制排序次序。
      

  2.   

    CS   区分大小写
    CI  不区分
      

  3.   

    1L:但我这次忙活了一上午才发现的 汉的教训。。 这个中文的排序好像区分大小写。。
    而按照【CI 指定不区分大小写,CS 指定区分大小写。】这个来讲,这两个排序都有CI。
    这是??在以前的工作 中,一直以为sql无论在什么时候都是区分大小写的 。这个问题还第一次遇到,想确认下哈。2L:能详细说说吗?
      

  4.   

    排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集.如:   
    Chinese_PRC_CS_AI_WS     
    前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。   
    排序规则的后半部份即后缀   含义:     
    _BIN   二进制排序     
    _CI(CS)   是否区分大小写,CI不区分,CS区分默认情况下一般不区分大小写
    在安装的时候可以选择
    也可以在安装之后再修改等
      

  5.   

    有一DB,名为ABC。其中有个表,叫Ta_ABC
    在collate为Japanese_CI_AS的情况下,执行select * from ta_abc ----(请注意表的大小写)
    可以将此表数据查处
    将此DB的collate改为Chinese_PRC_CI_AS,(这个时候你的这个会话连接的还是ABC数据库吗?) 执行select * from ta_abc
    错误提示:无效ta_abc。
      

  6.   

    问题:sql执行语句 是否 区分大小写 是不是与排序规则有关?
    ====
    标识符的排序规则取决于定义标识符的级别。为实例级对象(如登录名和数据库名)的标识符指派的是实例的默认排序规则。为数据库对象(如表、视图和列名)的标识符指派的是数据库的默认排序规则。连接上下文与一个数据库关联后,可以创建变量、GOTO 标签、临时存储过程和临时表;该上下文切换到其他数据库时,可以引用它们。因此,变量、GOTO 标签和临时表的标识符使用实例的默认排序规则。
      

  7.   

    [sql server] sql server的COLLATE设置( 字符集 ) 
    http://blog.csdn.net/xys_777/archive/2010/07/13/5731928.aspx
      

  8.   

    to 8L:连接不会有错。
    9L:没看太懂,标识符的排序规则与DB属性中的排序规则没有区别码?
    10L:我将中文的改为日文排序的就ok了。但两个都有CI。
      

  9.   

    ok了,结贴。
    以后先看CI,CS。
    如果还像今天的,就换换collate吧。
    没办法,电脑神奇啊
      

  10.   

    sql执行语句 是否 区分大小写 是不是与排序规则有关?--息息相关