无效的对象名称错误

Invalid object name error

我有两个选择:

  select * from thr_prsnjob 
  select * from tHR_PrsnJob

第一个工作正常。第二个 returns 错误:

Msg 208, Level 16, State 1, Line 1
Invalid object name 'dbo.tHR_PrsnJob'.

数据库排序规则为:排序规则=SQL_Croatian_CP1250_CI_AS

如果数据库区分大小写,我应该会收到此错误。如果 CI 它应该可以工作。 有什么想法吗?

在克罗地亚语中,字母 njlj 一样有效地被视为单个字母。这被称为 digraph.

看来 SQL 服务器也以同样的方式处理这些字母。考虑以下 4 个语句:

CREATE TABLE nj (ID INT)
CREATE TABLE nJ (ID INT)
CREATE TABLE Nj (ID INT)
CREATE TABLE NJ (ID INT)

在这种情况下,当创建第一个table时,第3个和第4个会冲突,但第二个是允许的。

SQL 引擎看起来会处理字母大小写相同的任何情况,这就是为什么小写 n 后跟大写 J 被认为是不同的名称。