对于排序规则设置为“Latin1_General_100_CS_AS”的SQL Server数据库,我想运行如下查询:
SELECT * FROM tableName
,只有数据库中的表名称为TableName。
SELECT * FROM TableName
工作正常
SELECT * FROM tableName
会出错:
Msg 208,Level 16,State 1,Line 1 无效的对象名称
如何使查询不区分大小写?
答案 0 :(得分:0)
我似乎记得在某处读到你无法做到这一点。
系统数据库表始终区分大小写。据我所知,你不能关闭这个功能,这也不受你自己的整理设置的影响 - 系统目录表的处理方式不同。
然而,您可以做的是创建一个同义词:
CREATE SYNONYM tableName FOR dbo.TableName
然后您的选择将再次起作用。当然,为每个可能的大写/小写输入案例创建同义词是不切实际的 - 但这可能是对这对夫妇最严重的问题的“快速修复”....