Sql server 如何在SQLServer中对1250代码页执行不区分重音的比较

Sql server 如何在SQLServer中对1250代码页执行不区分重音的比较,sql-server,codepages,accent-insensitive,Sql Server,Codepages,Accent Insensitive,关于stackoverflow上的重音不敏感搜索,已经有很多问题和解决方案,但没有一个适用于codepage 1250(中欧和东欧语言) 在SQL Server中修改搜索以使其不区分重音 问题是某些特定的代码页绑定了不区分重音的排序规则,而我在中缺少1250代码页的不区分重音的排序规则 我需要将列的排序规则修改为 例如,如果我将排序规则更改为SQL\U LATIN1\U GENERAL\U CP1\U CI\U AI,则选择带有accute的c作为不带accute的c(U+0107),因

关于stackoverflow上的重音不敏感搜索,已经有很多问题和解决方案,但没有一个适用于codepage 1250(中欧和东欧语言)

在SQL Server中修改搜索以使其不区分重音

问题是某些特定的代码页绑定了不区分重音的排序规则,而我在中缺少1250代码页的不区分重音的排序规则

我需要将列的排序规则修改为

例如,如果我将排序规则更改为SQL\U LATIN1\U GENERAL\U CP1\U CI\U AI,则选择带有accute的c作为不带accute的c(U+0107),因为代码页错误

如何解决这个问题

SELECT *
FROM   sys.fn_helpcollations()
WHERE  COLLATIONPROPERTY(name, 'CodePage') = 1250
       AND description LIKE '%accent-insensitive%';
返回264个可供选择的结果

挑第一个

SELECT N'è' COLLATE Albanian_CI_AI
UNION
SELECT N'é'
UNION
SELECT N'ê'
UNION
SELECT N'ë' 

根据需要返回一行(显示所有比较的相等值)

好的,链接MSDN文档似乎是针对SQL server 2008的,我使用的是SQL server 2014,但我找不到任何针对2014的排序规则文档

但解决方案是为我的代码页列出服务器上的排序规则:

SELECT name, COLLATIONPROPERTY(name, 'CodePage') AS CodePage
FROM fn_helpcollations()
where COLLATIONPROPERTY(name, 'CodePage') = 1250
ORDER BY name;
我可以看到有一个未记录的捷克语100_CI_AI排序规则,它对我很有用。海瑞卡