T-SQL соответствуют специальным символам. Pre должен соответствовать Pré - PullRequest
2 голосов
/ 15 июля 2009

У меня есть список названий компаний, и пользователь должен ввести название своей компании, чтобы войти в систему. Допустим, у нас есть компания «Pré ABC», теперь я хочу, чтобы пользователь мог набирать «Pre» или «Pré».

Сначала я подумал, что это встроенная функциональность оператора LIKE, но, к сожалению, это не так. Есть мысли?

Ответы [ 2 ]

5 голосов
/ 15 июля 2009

Это связано с сопоставлением. Каждая база данных имеет свое собственное сопоставление (и любой столбец может также переопределить это сопоставление). В вашем случае вы ищете сортировку, которая не чувствительна к акценту и не чувствительна к регистру. Попробуйте настроить базу данных на "SQL_Latin1_General_CP1_CI_AI". Это кодируется как «кодовая страница 1, без учета регистра, без учета акцента», что должно заставить ваши запросы работать так, как нужно.

3 голосов
/ 15 июля 2009
SELECT  1
WHERE   N'Pré ABC' COLLATE LATIN1_GENERAL_CI_AI LIKE N'%Pre%' 
...