SQL Сервер не может найти специальные символы - PullRequest
0 голосов
/ 03 августа 2020

В моей таблице есть записи, подобные этой

◦  bla bla bla bla

и другие записи, подобные этой

◾ bla bla bla bla

Когда я пробую этот запрос, я получаю ноль записей

SELECT TOP 100 *
FROM MyTable
WHERE Rec LIKE '◦%'

Как сделать так, чтобы SQL сервер читал этот символ?

Изменить:

SQL Server 2019 (v15)

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Вероятно, это символ Юникода, вам следует использовать WHERE Rec LIKE N'◦%'

1 голос
/ 03 августа 2020

Используйте SELECT name, description FROM fn_helpcollations();, чтобы определить COLLATION, доступные для вашей установки на вашем сервере, и выберите тот, который НЕ имеет accent-insensitive в описании (например, SQL_Latin1_General_CP1_CS_AS).

Затем измените свой запрос соответствующим образом ...

SELECT TOP 100 *
FROM MyTable
WHERE Rec LIKE '◦%' COLLATE SQL_Latin1_General_CP1_CS_AS

Различные кодовые страницы будут обрабатывать символы по-разному, а некоторые могут даже интерпретировать их как разные символы полностью. Выбирайте с умом.

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