Оператор 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 'Т%';
А как в sql like без учета регистра сделать? Не работает если вводишь текст на русском
Для этого нужно использовать lower функцию.
Спасибо, очень краткая и понятная инструкция. Теперь наконец разобрался, как работать с LIKE в mysql