如何在MS SQL-Server上查找包含"José"等特殊字符的名称

Ice*_*Ice 4 sql sql-server special-characters sql-server-2008

如果我搜索'Jose',结果为0.如果我搜索'Josè'或'Jôse'也没有结果.

select name from TblName where name = 'Jose' or name = 'Josè' or name = 'Jôse'
Run Code Online (Sandbox Code Playgroud)

我知道更换了吗?:where name like 'Jos?' or name like 'J?se'但这是非常不方便的,谁知道是否没有特殊形式的's'?

我想搜索'Jose'并获取所有变体,并在所有单个字符上包含所有可能的特殊字符; 怎么办?

har*_*ymc 11

请参阅 如何在SQL Server中执行重音不敏感比较(e与è,é,ê和ë)?

通过将特定的排序 规则应用于您的选择:

SELECT * 
FROM Venue 
WHERE Name COLLATE SQL_Latin1_General_CP1_CI_AI Like '%cafe%' 
Run Code Online (Sandbox Code Playgroud)

CI代表"Case Insensitive",AI代表"Accent Insensitive".

如果你是法国人,这篇文章也可能有所帮助: Remplacer les accents dansunechaîne.

  • 这是一个很好的解决方案,我同意,但在巨大的桌子上,我认为性能向南,不是吗? (2认同)