ВЫБОРКА С ИСПОЛЬЗОВАНИЕМ ПРЕДИКАТА LIKE(похоже на)
Выдать все детали, названия которых начинаются с буквы «С»:
SELECT НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД
FROM P
WHERE НАЗВАНИЕ LIKE 'C%';.
Получаем результат (Англоязычные названия деталей с номерами Р5 и Р6 в этом примере — Cam и Cog соответственно.— Примеч. пер.):
НОМЕР_ДЕТАЛИ | НАЗВАНИЕ | ЦВЕТ | ВЕС | ГОРОД |
Р5 Р6 | Кулачок Блюм | Голубой Красный | Париж Лондон |
Обычно предикат LIKE имеет форму:
имя—столбца LIKE литерная—строковая—константа, где «имя—столбца» должно обозначать столбец типа CHAR или VARCHAR. Этот предикат принимает для заданной записи значение истина, если значение в указанном столбце соответствует образцу, специфицируемому «литерной—строковой—константой». Литеры этой константы интерпретируются следующим образом:
— Литера «_» (разрыв или подчеркивание) обозначает любую одиночную литеру.
— Литера «%» (процент) обозначает любую последовательность из п литер (где п может быть нулем).
— Все другие литеры обозначают просто сами себя.
Следовательно, в приведенном примере предложение SELECT будет осуществлять выборку записей из таблицы P, для которых значение в столбце НАЗВАНИЕ начинается буквой «С» и содержит любую последовательность из нуля или более литер, следующую за этой буквой «С».
Ниже приведено еще несколько примеров, в которых используется LIKE:
АДРЕС LIKE '% Беркли %' будет принимать значение истина,если АДРЕС содержит где-либо внутри него строку 'Беркли'
НОМЕР_ПОСТАВЩИКА LIKE'S_ _ ' будет принимать значение истина, если значение в столбце НОМЕР—ПОСТАВЩИКА состоит в точности из трех литер и первая из них литера «S»
НАЗВАНИЕ LIKE '% К_ _ _ ' будет принимать значение истина, если значение в столбце НАЗВАНИЕ состоит из четырех или более литер и трем последним из них предшествует литера «К»
ГОРОД NOT LIKE ' % Е %' будет принимать значение истина, если значение ГОРОД не содержит литеры «Е»