У меня проблема в SQL Server 2000 при поиске термина на фарси - PullRequest
1 голос
/ 30 декабря 2010

У меня проблема в SQL Server 2000 с поиском на фарси.

У меня есть таблица с nvarchar полями со значениями в юникоде (фарси), и мне нужно искать ее содержимое с помощью текста в юникоде (фарси).

Я использую

select * from table1
where fieldname like '%[farsi word]%'

Мое слово на фарси существует, но возвращает 0 строку.

Что я могу сделать?

спасибо всем.

1 Ответ

2 голосов
/ 30 декабря 2010

Если вы используете NVARCHAR поля, вы должны также использовать Юникод при поиске!Вы делаете это, добавляя N перед поисковым термином:

select * from table1
where fieldname like N'%[farsi word]%'

Также: учтите, что если ваш поисковый запрос начинается с подстановочного знака %, вы фактически отключили любое использование любых индексов.может быть, чтобы ускорить ваш поиск.Использование LIKE %...% для поиска всегда приведет к довольно медленному сканированию таблицы ....

...