我有两个选择:
select * from thr_prsnjob
select * from tHR_PrsnJob
第一个工作正常。第二次返回错误:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'dbo.tHR_PrsnJob'.
数据库归类是:归类= SQL_Croatian_CP1250_CI_AS
如果数据库区分大小写,我应该收到此错误。如果CI它应该工作。 有什么想法吗?
答案 0 :(得分:2)
在克罗地亚语中,字母nj
一起被有效地视为单个字母lj
。这称为digraph。
似乎SQL Server也以同样的方式处理这些字母。请考虑以下4个陈述:
CREATE TABLE nj (ID INT)
CREATE TABLE nJ (ID INT)
CREATE TABLE Nj (ID INT)
CREATE TABLE NJ (ID INT)
在这种情况下,当创建第一个表时,第3个和第4个表将发生冲突但第二个表是允许的。
SQL引擎看起来处于字母大小写相同的任何情况,这就是小写n
后跟大写J
被视为不同名称的原因。