Символы подстановки SQL
При поиске данных в базе данных вы можете использовать wildcard-символы в SQL.
Символы подстановки SQL
При поиске данных в базе данных wildcard-символы в SQL могут заменить один или несколько символов.
Wildcards в SQL должны использоваться вместе с оператором LIKE.
В SQL можно использовать следующие wildcard-символы:
Wildcard | Описание |
---|---|
% | Представляет ноль или несколько символов |
_ | Только замена одного символа |
[charlist] | Любой отдельный символ в строке символов |
[^charlist] или [!charlist] |
Любой отдельный символ, не входящий в строку символов |
Оригинальная таблица (используется в примерах):
Таблица Persons:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
1 | Эдамс | Джон | Оксфорд-стрит | Лондон |
2 | Буш | Джордж | Пятая улица | Нью-Йорк |
3 | Картер | Томас | Улица Чанан | Пекин |
Использование % wildcard
Пример 1
Теперь мы хотим выбрать людей из таблицы "Persons", проживающих в городах, начинающихся с "Ne":
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE Город LIKE 'Ne%'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
2 | Буш | Джордж | Пятая улица | Нью-Йорк |
Пример 2
Далее мы хотим выбрать людей из таблицы "Persons", проживающих в городах, содержащих "lond":
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE Город LIKE '%lond%'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
1 | Эдамс | Джон | Оксфорд-стрит | Лондон |
Использование символа замещения _
Пример 1
Теперь мы хотим выбрать людей из таблицы "Persons", у которых имя начинается с любого символа, затем следует "eorge":
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
2 | Буш | Джордж | Пятая улица | Нью-Йорк |
Пример 2
Далее мы хотим выбрать запись из таблицы "Persons", где фамилия начинается с "C", затем следуют любые символы, затем "r", затем любые символы, затем "er":
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
3 | Картер | Томас | Улица Чанан | Пекин |
Использование символа замещения [charlist]
Пример 1
Теперь мы хотим выбрать людей, проживающих в городах, начинающихся с "A", "L" или "N", из таблицы "Persons"
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE Город LIKE '[ALN]%'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
1 | Эдамс | Джон | Оксфорд-стрит | Лондон |
2 | Буш | Джордж | Пятая улица | Нью-Йорк |
Пример 2
Теперь мы хотим выбрать города из таблицы "Persons"Не начинающиеся с Люди, чьи имена начинаются с "A", "L" или "N":
Мы можем использовать следующую SELECT-запрос:
SELECT * FROM Persons WHERE Город LIKE '[!ALN]%'
Результаты:
Id | LastName | FirstName | Адрес | Город |
---|---|---|---|---|
3 | Картер | Томас | Улица Чанан | Пекин |