Как найти имена со специальными символами, такими как «Хосе» на MS SQL-сервере - PullRequest
4 голосов
/ 25 февраля 2011

Если я ищу 'Хосе', результат равен 0. Если я ищу 'Хосе', и 'Jôse' также не дает результата.

select name from TblName where name = 'Jose' or name = 'Josè' or name = 'Jôse'

Я знаю замену на?: where name like 'Jos?' or name like 'J?se' Но это очень неудобно, и кто знает, не существует ли особой формы 's'?

Я хочу найти «Хосе» и получить все его варианты со всеми возможными специальными символами на всех отдельных символах;как это сделать?

1 Ответ

10 голосов
/ 25 февраля 2011

См Как выполнить сравнение без учета ударения (например, è, é, ê и ë) в SQL Server?

Применяя конкретное сопоставление заказ на ваш выбор:

SELECT * 
FROM Venue 
WHERE Name COLLATE SQL_Latin1_General_CP1_CI_AI Like '%cafe%' 

CI означает «без учета регистра» и AI для «нечувствительности к акценту».

Если вы француз, эта статья также может помочь: Remplacer les acnts dans und chaîne .

...