我正在安装一个新的Server 2008服务器,在获取有关不同排序规则的可用信息时遇到了一些问题。我在Server和google‘’ed中搜索过答案,但似乎找不到任何有用的信息。
"Finnish_Swedish_100"和"Finnish_Swedish"有什么区别?
我认为"_100"-version是Server 2008中的更新排序规则,但如果是这样的话,与旧版本相比有什么变化呢?"Accent-sensitive"通常是一件好事吗?我知道这取决于任务和所有这些,但有什么好的利弊要考虑吗?"Binary"和"Binary-code point"参数,在什么情况下应该启用它们?发布于 2009-02-10 08:56:46
_100表示Server 2008中新的排序规则序列,具有_90的排序规则序列为2005年的排序规则序列,没有后缀的排序规则序列为2000。我不知道有什么区别,也找不到任何文档。除非您要将服务器查询链接到另一个不同版本的SQL server,否则我会倾向于使用_100查询。抱歉,我没办法解决这些分歧。
发布于 2009-09-23 10:12:35
仅通过将校对设置为AI (口音不敏感),字母A/A不与A和O混在一起。然而,这是正确的-和其他“组合”,而不是瑞典字母作为单个字母的一部分。将混合还是不混合取决于所讨论的设置。
由于我还有很多旧的数据库需要与之通信,同时也使用链接服务器,所以我现在正在安装_SWEDISH _CI _AS,所以选择了芬兰的SQL2008。当Windows排序规则首次出现在Server中时,这是芬兰_SWEDISH的默认设置。
发布于 2009-09-23 10:36:35
使用下面的查询自己尝试一下。
如您所见,在使用芬兰语/瑞典语排序时,不计算为重音字符,而是按照瑞典字母排序。
但是,只有在使用AS排序规则时才会考虑重音。对于AI排序规则,它们的顺序不变,好像根本没有重音。
CREATE TABLE #Test (
Number int identity,
Value nvarchar(20) NOT NULL
);
GO
INSERT INTO #Test VALUES ('àá');
INSERT INTO #Test VALUES ('áa');
INSERT INTO #Test VALUES ('aa');
INSERT INTO #Test VALUES ('aà');
INSERT INTO #Test VALUES ('áb');
INSERT INTO #Test VALUES ('ab');
-- w is considered an accented version of v
INSERT INTO #Test VALUES ('wa');
INSERT INTO #Test VALUES ('va');
INSERT INTO #Test VALUES ('zz');
INSERT INTO #Test VALUES ('åä');
GO
SELECT Number, Value FROM #Test ORDER BY Value COLLATE Finnish_Swedish_CI_AS;
SELECT Number, Value FROM #Test ORDER BY Value COLLATE Finnish_Swedish_CI_AI;
GO
DROP TABLE #Test;
GOhttps://stackoverflow.com/questions/531453
复制相似问题