none
数据库大小写敏感问题 RRS feed

  • 问题

  • SqlServer创建数据库时字符集设为对大小写敏感,结果发现表名和列名都对大小写敏感,和过去用其他的数据库习惯不一样,感觉有些麻烦。有没有什么办法使其只对字段值大小写敏感,而对表名和列名大小写不敏感?
    2010年4月28日 8:39

答案

  •  可否试试这样?

    --创建数据库的时候指定大小写敏感
    create database kof
    collate Chinese_PRC_Cs_AS
    --修改数据库的排序规则
    ALTER DATABASE kof
    COLLATE Chinese_PRC_CI_AS

    修改完后 建表的时候 指定列的排序规则 

    2010年5月4日 13:19

全部回复

  • 创建数据库时,将编码指定为非大小敏感 创建后再改默认字符集属性
    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
    2010年4月28日 9:27
  • 这样不行,就是这样操作才发现的问题。
    2010年4月29日 3:48
  • 没有很好的办法, 可以考虑在字段的列上去定义大小写敏感的排序规则, DB 设置不为区分大小写的

    不过这样的话, 变量/常量比较是不区分大小写的, 除非强制指定

    2010年4月29日 4:50
  •  可否试试这样?

    --创建数据库的时候指定大小写敏感
    create database kof
    collate Chinese_PRC_Cs_AS
    --修改数据库的排序规则
    ALTER DATABASE kof
    COLLATE Chinese_PRC_CI_AS

    修改完后 建表的时候 指定列的排序规则 

    2010年5月4日 13:19
  • 不要随意标记为答案,以免误人。个人感觉这是微软考虑欠周到的地方,和大多数人的习惯不相符。应该数据库表名、字段名等不分大小写,字段值对大小写敏感。其实可以有变通的方法解决此问题:数据库创建时不封大小写,个别需要大小写敏感的列指定,毕竟对大小写敏感的列也不会很多,但总归有些不便。
    2010年5月12日 8:02