SQL - Оператор LIKE

Оператор LIKE используется в предложении WHERE для поиска заданного шаблона в столбце.

В сочетании с оператором LIKE используются два подстановочных знака:

  • % - Знак процента представляет нулевой, один или несколько символов
  • _ - Подчеркнутый символ представляет собой один символ
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Выражение Описание
WHERE name LIKE 'text%' Находит любые значения, начинающиеся с "text"
WHERE name LIKE '%text' Находит любые значения, заканчивающиеся на "text"
WHERE name LIKE '%text%' Находит любые значения, которые имеют «text» в любой позиции
WHERE name LIKE '_text%' Находит любые значения, которые имеют «text» во второй позиции
WHERE name LIKE 'text_%_%' Находит любые значения, начинающиеся с «text» и длиной не менее 3 символов
WHERE name LIKE 'text%data' Находит любые значения, начинающиеся с «text» и заканчивающиеся на «data»

Примеры SQL LIKE

Следующий оператор SQL выбирает всех пользователей с именем name, начинающимся с «Т»:

Пример:

SELECT * FROM users
WHERE name LIKE 'Т%';

Следующий оператор SQL выбирает всех пользователей с именем name, заканчивающимся на «м»:

Пример:

SELECT * FROM users
WHERE name LIKE '%м';

Следующий оператор SQL выбирает всех пользователем с именем name, которое имеет «text» в любой позиции:

Пример:

SELECT * FROM users
WHERE name LIKE '%text%';

Следующий оператор SQL выбирает всех пользователей с именем name, которое имеет «text» во второй позиции:

Пример:

SELECT * FROM users
WHERE name LIKE '_text%';

Следующий оператор SQL выбирает всех пользователей с именем name, начинающимся с «Т» и длиной не менее 3 символов:

Пример:

SELECT * FROM users
WHERE name LIKE 'Т_%_%';

Следующий оператор SQL выбирает всех пользователей с именем name, которое начинается с «Т» и заканчивается на «м»:

Пример:

SELECT * FROM users
WHERE name LIKE 'Т%м';

Следующий оператор SQL выбирает всех пользователей с именем name, которое НЕ начинается с «Т»:

Пример:

SELECT * FROM users
WHERE name NOT LIKE 'Т%';