我有一张表格如下
Create Table Test(Name NVARCHAR(100))
Insert Into Test(Name) values (N'ἀἁἃἄὠἀἁἃἄὠἀἁἃἄὠἀἁἃἄὠἀἁἃἄὠἀἁἃἄὠἀἁἃἄὠ1,')
Insert Into Test(Name) values (N'ἀἁἃἄὠἀἁἃἄ')
Insert Into Test(Name) values (N'Test')
Select * from ED.Test WHERE Name like N'ἀἁἃἄὠἀἁἃἄ'
上面的Select查询应返回两个结果,但现在只返回一个结果。
本声明
Select * from ED.Test WHERE Name like '%ἀἁἃἄὠἀἁἃἄ%'
没有返回任何结果。
Select * from ED.Test WHERE Name like N'%ἀἁἃἄὠἀἁἃἄ%'
返回所有结果。
我错过了什么?
答案 0 :(得分:2)
对于特殊语言字符,您应使用 COLLATE 。
Select * from Test
WHERE Name COLLATE Greek_100_CS_AS_KS_WS_SC like N'ἀἁἃἄὠἀἁἃἄ%'
对于您的解决方案,我使用了collation_name
Greek_100_CS_AS_KS_WS_SC
以下查询会返回所有可能的collation_name
SELECT *
FROM ::fn_helpcollations()
您可以选择适合您的collation_name
。