土耳其语设置的奇怪行为

时间:2012-01-12 16:18:08

标签: sql sql-server-2005 sql-server-2000

我有Collat​​ion Arabic_CI_AS

的数据库

当我有英文设置的窗口时,我可以

select Column from Table where Column= 'A'

并且可以做到

select column from table where column= 'a'

我的意思是命名不区分大小写

土耳其语窗口

如果任何名称未在DB中命名,则会在我的Windows应用程序中引发错误

我的意思是在土耳其语窗口中,名称必须区分大小写

任何想法解释它以及如何解决它,以便我不会在任何语言设置中再次面对它

2 个答案:

答案 0 :(得分:1)

差异可能在于使用的整理。

根据排序规则,代码可能区分大小写或不区分大小写。

您可以使用以下命令检查服务器排序规则:

SELECT SERVERPROPERTY('Collation')

Somwtimes,数据库排序规则可能不同,请使用以下命令进行检查:

SELECT DATABASEPROPERTYEX('DatabaseName', 'Collation')

有关详细信息,请参阅THIS文章。

答案 1 :(得分:0)

您使用可能在其他语言(如土耳其语)中发挥作用的口音敏感(_AS),它区分重音和非重音字符,您的数据库中是否有重音字母?

除了使用Arabic_CI_AS之外,为什么不使用 Turkish_CI_AS ?阿拉伯语和土耳其语字母不同?土耳其的信件也使用了晚期信件。

看看这些链接,希望它们能为您提供进一步的帮助: