Символ подстановки используется для замены любого другого символа в строке. Подстановочные символы используются с оператором 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 '[ТРЕ]%';
0 комментариев