当我的SQL Server数据库设置为Latin1_General_100_CI_AI时,大小写和排序规则的问题

问题描述 投票:5回答:2

我的SQL Server 2008数据库设置为Latin1_General_100_CI_AI排序规则,但是当我使用Management Studio查询数据库时,它仍然是重音敏感的。我错过了什么?

另外,在nvarchar上连接两个表时,我收到以下消息。这些表也是相同的排序规则。

无法在等于操作中解决“Latin1_General_100_CI_AI”和“Latin1_General_CI_AS”之间的排序规则冲突。

任何帮助将不胜感激。

sql-server collation
2个回答
5
投票

尝试将其中一个字段转换为其他字段的排序规则:

SELECT  *
FROM    as_table
JOIN    ai_table
ON      ai_field = as_field COLLATE Latin1_General_100_CI_AI

要么

SELECT  *
FROM    ai_table
JOIN    as_table
ON      as_field = ai_field COLLATE Latin1_General_100_CI_AS

请注意,转换字段会使谓词对此字段上的索引不可分。


1
投票

一旦您已经在数据库中创建了对象,只需更改排序规则就不会更改现有对象。您可以通过右键单击表并将其编写出来来看到这一点 - 它们将有很多关于varchar字段的排序规则的注释。如果您希望更改对象,则需要重新创建它们。

© www.soinside.com 2019 - 2024. All rights reserved.