M. *_* S. 3 sql-server-2008 t-sql
我在捷克语中对重音不敏感的搜索有以下问题。我的数据库设置为Czech_CI_AI整理。对于某些变音符号系统正常工作(即I),但对于某些不正常(即R)。在我的数据库中有几条'DVORA*'记录:
SELECT contact_name
FROM CONTCTSM1
WHERE CONTACT_NAME LIKE 'DVO%'
Run Code Online (Sandbox Code Playgroud)
结果:
DVO?Á?KOVÁ,
IVETA DVO?Á?KOVÁ,
JI?INA DVO?ÁK
R 和 ? 是不同的字母,而不是经过修改的基本字母(?),如带有 ö 与 o 的德语变音
来自维基百科上的捷克语(我的粗体)
重音符号 (?árka) 字母 (Á, É, Í, Ó, Ú, Ý) 和 kroužek 字母 ? 都表示长元音。它们与非变音符号对应物具有相同的字母顺序。... há?ek (?) 表示基础字母的历史上颚化。字母 ?, ?, Š 和 Ž 目前代表牙槽后辅音,并排在其相应的基本字母之后;尽管 ?, ?, ?代表腭辅音,并具有与其非变音符号对应物相同的字母顺序。
瑞典语(不同字母)和德语(修改)中 Ö 和 O 的测试
SELECT 'Finnish_Swedish_100_CI_AI'
WHERE N'Ö' COLLATE Finnish_Swedish_100_CI_AI = N'O'
UNION ALL
SELECT 'Latin1_General_CI_AI'
WHERE N'Ö' COLLATE Latin1_General_CI_AI = N'O'
Run Code Online (Sandbox Code Playgroud)