Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL LIKE  [new]
ZAWUL00N
Member

Откуда:
Сообщений: 2
Добрый день.
Нужно найти все сообщения, содержащие в тексте некоторую последовательность символов.
LIKE считывает строку между символами '
Т.е. A like '%B%'.
В искомой последовательности есть символ '
В связи с этим LIKE выдает ошибку
Т.е. A like '%56'76'89%' не принимается, читает только до первого символа '
Подскажите, пожалуйста, обходное решение.
Спасибо!
9 апр 19, 13:08    [21857033]     Ответить | Цитировать Сообщить модератору
 Re: SQL LIKE  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36269
Одинарные кавычки в строковом литерале необходимо удваивать.

A like '%56''76''89%'
9 апр 19, 13:24    [21857060]     Ответить | Цитировать Сообщить модератору
 Re: SQL LIKE  [new]
ZAWUL00N
Member

Откуда:
Сообщений: 2
Гавриленко Сергей Алексеевич,

Спасибо!
9 апр 19, 13:28    [21857073]     Ответить | Цитировать Сообщить модератору
 Re: SQL LIKE  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18998
Служебные символы в литералах полагается квотировать. Для этого существует ESCAPE Clause:
A like '%56\'76\'89%' ESCAPE '\'

либо указание служебных в форме группы символов
A like '%56[']76[']89%' 
9 апр 19, 13:35    [21857088]     Ответить | Цитировать Сообщить модератору
 Re: SQL LIKE  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36269
Akina,

С каких пор одинарная кавычка стала служебным символом? Для like надо эскейпить вайлдкарды.
9 апр 19, 13:47    [21857110]     Ответить | Цитировать Сообщить модератору
 Re: SQL LIKE  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6376
Akina
Служебные символы в литералах полагается квотировать. Для этого существует ESCAPE Clause:
A like '%56\'76\'89%' ESCAPE '\'

либо указание служебных в форме группы символов
A like '%56[']76[']89%' 

ну всё это парсер не пропустит
9 апр 19, 13:51    [21857118]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить