SQL - Подстановочные знаки

Символ подстановки используется для замены любого другого символа в строке. Подстановочные символы используются с оператором SQL LIKE . Оператор LIKE используется в предложении WHERE для поиска заданного шаблона в столбце. В сочетании с оператором LIKE используются две подстановочные знаки:

  • % - Знак процента представляет нулевой, один или несколько символов
  • _ - Подчеркнутый символ представляет собой один символ

Примеры, с разными LIKE-операторами с «%» и «_» подстановочными знаками:

Выражение Описание
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 выбирает всех пользователей с name, начинающимся с «Т»:

Пример:

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

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

Пример:

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

Использование подстановочного знака

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

Пример:

SELECT * FROM users
WHERE name LIKE '_о';

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

Пример:

SELECT * FROM users
WHERE name LIKE 'Т_м_с';

Использование подстановочного знака [charlist]

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

Пример:

SELECT * FROM users
WHERE name LIKE '[ТРЕ]%';

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

Пример:

SELECT * FROM users
WHERE name LIKE '[Т-E]%';

Использование подстановочного знака [! Charlist]

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

Пример:

SELECT * FROM users
WHERE name LIKE '[!ТРЕ]%';

Или:

Пример:

SELECT * FROM users
WHERE name NOT LIKE '[ТРЕ]%';