SQL Server案例/整理问题

时间:2011-08-26 16:08:11

标签: sql-server database collation

今天我在客户数据库中遇到了一个奇怪的情况。 SQL Server 2005,数据库排序规则不区分大小写,因此我可以使用任何案例编写SQL查询,没有任何问题......除了一个。 在一个特定的表中,一个特定的列称为“DeadZone”。 如果我这样查询: '从TableName中选择Deadzone' - 我找到一个未找到列的错误 像这样: '从TableName中选择DeadZone' - 它的工作原理。 现在是踢球者,像这样: '从TableName中选择deadZone' - 它有效!

所以只有列名中的'Z'区分大小写! 我在同一个表中创建了一个类似的列名,其中包含一个“Z”,该列不区分大小写。

有什么想法吗?我确信我可以通过删除和重新添加列来解决这个问题,但是最好能够深入了解这一列。 顺便说一下,这个数据库是在匈牙利的个人电脑上进行的,那么一些匈牙利特有的字符问题是否可能造成这种情况呢?记住,其中带有“Z”的另一个列名称没有相同的问题。

-Graeme

1 个答案:

答案 0 :(得分:6)

准确的整理是什么? Hungarian does have a special Dz letter,可能与D不同,因此您的问题实际上可能是d,而不是z。

Deadzone is [D][e][a][dz][o][n][e]
DeadZone is [D][e][a][d][Z][o][n][e]
deadZone is [d][e][a][d][Z][o][n][e]

如果可以的话,我会在本月见过的最奇怪的事情上给你投票+1000。

请参阅LY的相关问题:http://www.sqlservercentral.com/Forums/Topic19439-9-1.aspx

我不认为删除和重新添加您的专栏会有所帮助。如果要使用匈牙利数据库归类,您应该只使用真正的匈牙利列名称!