2009-04-21 2 views
5

Кажется, что ß = ss в SQL. Я должен уметь отличать на основе строгого эквивалента charcter.SQL-запрос, который различает ß и ss

т.е. выбрать * из таблицы, где имя как «% ß%» дает Брайан BRUSS Стивен Sossmix

и т.д ..

Я посмотрел на различных Collations, чтобы увидеть, если есть один, который игнорирует расширения символов, но пока не повезло.

База данных имеет значение Latin1_General_CI_AS по умолчанию - я также пробовал Latin1_General_CS_AS и Latin1_General_CS_AS_WS, ни один из которых не работал.

Любая помощь будет оценена по достоинству.

+0

Какого сервера базы данных вы используете? SQL Server, Oracle, MySQL или ...? – Michael

+0

И каковы настройки локализации, которые по умолчанию установлены в коде и настройке. –

+0

Я получаю ваши результаты, когда я префикс ss с N. -> N'ss ', иначе он работает так, как ожидалось (для меня). –

ответ

9

Вы должны использовать двоичные сортировки, так что это чувствительно к регистру, акцент чувствителен к регистру, и т.д.

Collation: SQL_Latin1_General_Cp437_BIN

+0

Блестяще, спасибо. Именно это я и сделал. –

1

Найдено thread, который имеет два решения для этого.

+0

Один ответ был от Джона Скита, так что, может быть, он мог вмешаться и разработать на нем – TStamper

Смежные вопросы