Архітектура ПК
[1]
Архітектура та експлуатація персонального комп'ютера
|
СПЗ
[12]
Системне програмне забезпечення та операційні системи
|
Комп'ютерна графіка [25] |
КСМ
[28]
Комп'ютерні системи та мережі
|
ІСІТО
[1]
Інформаційні системи і технології обліку
|
Бухгалтерський облік [0] |
АМтП
[10]
Алгоритмічні мови та програмування
|
Копирайт рерайт [1] |
СУБД
[18]
Системи управління базами даних
|
ОКТ практикум
[2]
Основи комп'ютерних технологій практикум
|
Інформатика (практ)
[1]
інформатика практикум, практичні заняття
|
ТіОБВ
[61]
Технологія і організація будівельного виробництва
|
ОСАПр
[6]
Основи систем автоматизованого проектування, AutoCAD, ArchiCAD
|
ТіОБВ (заочники) [1] |
15:49 SQL урок 5 Символи підстановки і постійні вирази (LIKE) |
Часто, для фильтрации данных, нам нужно будет осуществить выборку не по точному совпадении условия, а по приближенному значению. То есть когда, например, мы ищем товар, название которого соответствует определенному шаблону или содержит определенные символы или слова. Для таких целей в SQL существует оператор LIKE, который ищет приближенные значения. Для конструирования такого шаблона используются метасимволы (специальные символы для поиска части значения), а именно: "знак процента" (%) или звездочка (*), "символ подчеркивания" (_) или "знак вопроса" (?), "квадратные скобки" ([ ]). 1. Метасимвол знак процента (%) или звездочка (*)Давайте из нашей таблицы, например, отберем записи, относящиеся только к товарам, содержащих в своем названии слово Skis (лыжи). Для этого составим соответствующий шаблон: SELECT * FROM Sumproduct WHERE Product LIKE '*Skis*' Как видим, СУБД отобрала только те записи, где в колонке Product были товары, содержащие слово Skis. Также отметим, что в данном примере используется метасимвол "звездочка" (*), поскольку СУБД Access не поддерживает "знак процента" (% ) для оператора LIKE. 2. Метасимвол знак подчеркивания (_) или знак (?)Знак подчеркивания или вопросительный знак применяется для того, чтобы заменить один символ в слове. Давайте в слове Bikes заменим все гласные буквы на "вопросительный знак" (?) и посмотрим на результат: SELECT * FROM Sumproduct WHERE Product LIKE 'B?k?s' Мы использовали метасимвол "вопросительный знак" (?), поскольку СУБД Access не поддерживает "знак подчеркивания" (_) для оператора LIKE. 3. Метасимвол квадратные скобки ([ ])Метасимвол "квадратные скобки" ([ ]) используется для одновременного указания набора символов, по которым нужно выполнить поиск. SELECT * FROM Sumproduct WHERE City LIKE '[TN]*' В примере выше, мы отобрали записи, где в поле City названия городов начинаются с буквы T или N. Также, в данном случае, мы можем использовать еще один метасимвол, который выполняет обратное действие. Добавим в наше регулярное выражение восклицательный знак (!), что будет означать "не равно" (для СУБД Access) или знак степени (^) (для других СУБД). SELECT * FROM Sumproduct WHERE City LIKE '[!TN]*' То есть, последний созданный нами запрос будет читаться как: выбрать все колонки из таблицы Sumproduct и только те записи, где в поле City названия городов не начинаются на буквы T или N. Дополнительно отметим, что набор букв в метасимволе "квадратные скобки" отвечает только за одну позицию в тексте. Мы можем получить аналогичный результат, если воспользоваться уже известным нам оператором NOT, однако с восклицательным знаком (!) запись будет короче. |
|
Всього коментарів: 0 | |