Здравствуйте, я пытаюсь найти все строки в моей базе данных (SQL Server), которые имеют символ é в своем тексте, выполнив следующие запросы.
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\xE9]%',question) > 0;
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\u00E9]%',question) > 0;
Но я нашел двепроблемы: (а) они возвращают различное количество строк и (б) они возвращают строки, которые не имеют указанного символа.
Является ли способ построения регулярного выражения и сравнения Юникода правильным?
РЕДАКТИРОВАТЬ:
Столбец вопроса хранится с использованием типа данных nvarchar
.Следующий запрос дает правильный результат.
SELECT COUNT(*) FROM t_question WHERE question LIKE N'%é%';