Артём Санников

Персональный блог

Мобильная разработка
Менеджеры пакетов
Хостинг провайдер
Смартфоны
› Оператор LIKE в SQL

Оператор LIKE в SQL

Оператор LIKE применяется только к полям типа CHAR и VARCHAR, поскольку он используется для поиска подстрок. Другими словами, оператор LIKE осуществляет просмотр строки для выяснения: входит ли заданная подстрока в указанное поле. Для осуществления более качественного просмотра подстроки используются шаблоны. Шаблоны – это специальные символы, которые могут обозначать всё что угодно.

Шаблоны оператора LIKE для поиска

  • Существует три типа шаблонов, которые можно использовать с оператором LIKE:
  • Символ «нижнее подчёркивание» (_) заменяет один любой символ.
  • Символ «процент» (%) заменяет последовательность символов произвольной длины, в том числе и нулевой.
  • Квадратные скобки [ ], внутри них можно указать последовательность символов, чтобы выполнить поиск. Если мы укажем в квадратных скобках последовательность символов, например — ВИ, то поиск будет выполняться с учётом того, что информация будет начинаться с В или И.

Escape-символы (экранирование символов)

Чтобы найти в строке символ подчёркивания или процента, в предикате LIKE любой символ можно определить, как Escape-символ. Он используется в предикате непосредственно перед символом процента или подчёркивания, и означает что следующий за ним символ интерпретируется именно как обычный символ, а не как символ шаблона.

Практический пример с ESCAPE

Вывести из таблицы Users имена пользователей, чей прогресс составляет 44%.

SELECT name 
FROM Users 
WHERE name LIKE '44!% ' ESCAPE '!'

Практический пример с %

Вывести из таблицы Users имена пользователей, имена которых начинаются с буквы В.

SELECT name 
FROM Users 
WHERE name LIKE 'B%';

Практический пример с _

Вывести из таблицы Users имена пользователей, чьё имя составляет не более 7 символов и начинается на букву В.

SELECT name 
FROM Users 
WHERE name LIKE 'B______';

Практический пример с [ ]

Вывести из таблицы Users имена пользователей, которые начинаются на букву В и И.

SELECT name 
FROM Users 
WHERE name LIKE '[ВИ]%';

Можно использовать метасимвол ^, который означает противоположное действие. То есть сейчас мы ведем имена, которые не начинаются на буквы В и И.

SELECT name 
FROM Users 
WHERE name LIKE '[^ВИ]%';

Метки: , .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Реклама от Google
Реклама от Google