如何解决SQL Server:列排序规则对T-SQL指令的影响
继marc_s之后
sys.objects,sys.columns等将列名和对象名存储 在数据库的排序规则中 。因此,二进制排序规则意味着将对象名称视为二进制…
解决方法
我今天发现(*),根据服务器的不同,我的TSQL命令区分大小写,这意味着当命名一个表的列时tableId
,以下指令可能不会成功:
SELECT TableId FROM myTable
取决于列的排序规则。SQL_Latin1_blablabla
似乎不区分大小写Latin1_blablabla
。
所以我的第一个问题是为什么!
第二个是:更改数据库中所有相关列的所有排序规则的最快技巧(sp?)是什么?
编辑:使事情很清楚:
SELECT tableId FROM myTable
在所有服务器上工作时
SELECT TableId FROM myTable
仅在具有SQL_Latin_blablabla
排序规则的服务器上工作。注意两个字符串之间的区别。我们在这里不是在谈论数据整理,而是在讨论这种整理对我们编写代码的方式的影响!
(*)在“发现”之后,我可以在此处使用一些附加的特定词来限定我的心理状态,但是所有这些词都是成年的…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。