当我用小写字母键入表名时,我的SQL Server查询分析器会引发错误。
我的服务器和数据库归类是SQL_Latin1_General_CP1254_CI_AS
。
尽管如此,Select * from table
会引发错误,而Select * From TABLE
不会引发任何错误。
我哪里错了?如何使案例不敏感?我使用SQL Server 2008
答案 0 :(得分:3)
尝试“从[table] 中选择*”。这是一个愚蠢的问题,但桌子的名称是表格吗?
答案 1 :(得分:0)
您的服务器具有不区分大小写的排序规则,但每个单独的数据库可能都有自己的排序规则。碰巧,此特定数据库具有区分大小写的排序规则。如果未明确指定(请参阅CREATE DATABASE ... COLLATE ...
),数据库将继承最初在上创建的服务器的排序规则。可能这个数据库是在具有区分大小写的排序规则的服务器上创建的,然后在服务器上附加/恢复。
对于每个数据库,可以在sys.databases
:
select collation_name
from sys.databases
where database_id = db_id('...');