ВЫБОРКА С ИСПОЛЬЗОВАНИЕМ ПРЕДИКАТА 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 ' % Е %' будет принимать значение истина, если значение ГОРОД не содержит литеры «Е»