SQL Подстановочный знак
Подстановочные знаки
Подстановочный знак используется для замены одного или нескольких символов в строке.
Подстановочные знаки используются с оператором SQL LIKE. Оператор LIKE используется в предложении WHERE для поиска указанного шаблона в столбце.
Подстановочные знаки в MS Access
Символ | Описание | Пример |
---|---|---|
* | Представляет ноль или более символов | bl* finds bl, black, blue, and blob |
? | Представляет собой один символ | h?t finds hot, hat, and hit |
[] | Представляет любой отдельный символ в квадратных скобках | h[oa]t finds hot and hat, but not hit |
! | Представляет собой любой символ, не заключенный в скобки | h[!oa]t finds hit, but not hot and hat |
- | Представляет собой набор символов | c[a-b]t finds cat and cbt |
# | Представляет собой любой отдельный числовой символ | 2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285, and 295 |
Подстановочные знаки в SQL Server
Символ | Описание | Пример |
---|---|---|
% | Представляет ноль или более символов | bl% finds bl, black, blue, and blob |
_ | Представляет собой один символ | h_t finds hot, hat, and hit |
[] | Представляет любой отдельный символ в квадратных скобках | h[oa]t finds hot and hat, but not hit |
^ | Представляет собой любой символ, не заключенный в скобки | h[^oa]t finds hit, but not hot and hat |
- | Представляет собой набор символов | c[a-b]t finds cat and cbt |
Все подстановочные знаки также могут быть использованы в комбинациях!
Вот несколько примеров, показывающих различные операторы LIKE с подстановочными знаками '%' и '_':
Оператор LIKE | Описание |
---|---|
WHERE CustomerName LIKE 'a%' | Находит любые значения, которые начинаются с "a" |
WHERE CustomerName LIKE '%a' | Находит любые значения, которые заканчиваются на "a" |
WHERE CustomerName LIKE '%or%' | Находит любые значения, которые имеют "or" в любой позиции |
WHERE CustomerName LIKE '_r%' | Находит любые значения, имеющие букву "r" во второй позиции |
WHERE CustomerName LIKE 'a_%_%' | Находит любые значения, начинающиеся с буквы "a" и имеющие длину не менее 3 символов |
WHERE ContactName LIKE 'a%o' | Находит любые значения, которые начинаются с "a" и заканчиваются на "o" |
Демо база данных
Ниже приведен выбор из таблицы "Customers" в образце базы данных Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Использование подстановочного знака %
Следующая инструкция SQL выбирает всех клиентов с городом, начинающимся с "ber":
Следующая инструкция SQL выбирает всех клиентов с городом, содержащим шаблон "es":
Использование подстановочного знака _
Следующая инструкция SQL выбирает всех клиентов с городом, начинающимся с любого символа, за которым следует "ondon":
Следующая инструкция SQL выбирает всех клиентов с городом, начинающимся с "L", за которым следует любой символ, за которым следует "n", за которым следует любой символ, а затем "on":
Использование подстановочного знака [charlist]
Следующая инструкция SQL выбирает всех клиентов с городом, начинающимся с "b", "s" или "p":
Следующая инструкция SQL выбирает всех клиентов с городом, начинающимся с "a", "b" или "c":
Использование подстановочного знака [!charlist]
В двух следующих инструкциях SQL выбираются все клиенты с городом, не начинающимся с "b", "s" или "p":
Или: