SQL как со специальными символами - PullRequest
4 голосов
/ 18 июля 2010

Если я пытаюсь создать выборку со специальными (нордическими) символами, такими как:

Select * from users where name like '%æ%'

Он просто выбирает всех пользователей вместо тех, которые содержат букву 'æ'.

Do Iнужно установить некоторые специальные драйверы в базу данных, или я пропустил что-то еще?

Обновление:
Я использую базу данных SQL Server 2008, для параметра сортировки установлено значение «SQL_Latin1_General_CP1_CI_AS» и поле данныхявляется обнуляемым типом данных nVarChar.

Ответы [ 3 ]

4 голосов
/ 18 июля 2010

Скорее всего, проблема с сопоставлением или типом данных

Пример, дает 97 и 230

SELECT ASCII('æ' COLLATE Albanian_CI_AI), ASCII('æ' COLLATE Latin1_General_CI_AS) 

Нам понадобится больше информации в основном.

Редактировать: Вопрос о датском / норвежском å (хотя и не решен)

Редактировать 2: измените код на этот, если имя nvarchar, чтобы литерал тоже стал юникодом.

Select * from users where name like N'%æ%'
0 голосов
/ 18 июля 2010

должно работать правильно ..
но попробуйте это Select * from users where name like '%[æ]%'

0 голосов
/ 18 июля 2010

Убедитесь, что вы используете расширенный набор символов (UTF-8), и с вами все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...