SQL Sever中的大小写敏感问题

武哥博文 2010-07-01 04:38:25
当我们在安装数据库时,如果SQL Server instance的collation设置选择为大小写敏感,而我们创建数据库(设定库名为DB1)时将数据库的collation选择为大小写不敏感。按照SQL Server的collation判断规则从低级到高级,也就是说按照字段->表->数据库->数据库实例的顺序进行判断,此时在DB1上进行操作应该是大小写不敏感的。事实却是如此,DB1中的表、字段的collation会默认为数据库的设置。然而,当我们在DB1上创建存储过程、函数和触发器等问题就出现了,此时我们会发现这些脚本的执行仍然是大小写敏感的。

详见:
http://blog.csdn.net/GRANDTREE/archive/2010/07/01/5706746.aspx
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
feilniu 2010-07-01
  • 打赏
  • 举报
回复
标识符排序规则 和 字符类型数据的排序规则 是两码事,要区分开了。
feilniu 2010-07-01
  • 打赏
  • 举报
回复
SQL Server 2005 联机丛书

标识符排序规则

标识符的排序规则取决于定义标识符的级别为实例级对象(如登录名和数据库名)的标识符指派的是实例的默认排序规则为数据库对象(如表、视图和列名)的标识符指派的是数据库的默认排序规则。连接上下文与一个数据库关联后,可以创建变量、GOTO 标签、临时存储过程和临时表;该上下文切换到其他数据库时,可以引用它们。因此,变量、GOTO 标签和临时表的标识符使用实例的默认排序规则
jaydom 2010-07-01
  • 打赏
  • 举报
回复
学习下
zhangweiit 2010-07-01
  • 打赏
  • 举报
回复
大小写敏感是很重要的,原来我们系统就出过问题
但要看具体需求,

因为,有的系统要求如果我以zhangwei注册,那同样可以以ZHANGWEI或是ZhangWei登陆

如果要大小写区别
那collate 中必须是binary的那个选项那不是general那个

SQL_Hhy 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]

引用 1 楼 coolingpipe 的回复:
哦,学习一下
哦.那我也学习一下.
[/Quote]
学习
gloomybima 2010-07-01
  • 打赏
  • 举报
回复
学习了,我等菜鸟通常都不会设置为大小写敏感的,呵呵~
dawugui 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 coolingpipe 的回复:]
哦,学习一下
[/Quote]哦.那我也学习一下.
冷箫轻笛 2010-07-01
  • 打赏
  • 举报
回复
哦,学习一下

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧