Язык запросов SQL

         

Предикат like используемый в SQL



Таблица 9.3. Предикат like, используемый в SQL



Выражение Возвращаемые значения
WHERE WORD LIKE 'intern%' intern
internal
  international
  internet
  interns
WHERE WORD LIKE '%Peace%' Justice of the Peace
  Peaceful Warrior
WHERE WORD LIKE 't_p_' tape
  taps
  tipi
  tips
  tops
  type

Предикат NOT LIKE (не похожий) дает возможность получить все строки, которые не удовлетворяют частичному соответствию, имеющему, как в следующем примере, не менее одного символа-маски:

WHERE PHONE NOT LIKE '503%'

В этом случае будут возвращены все строки таблицы, в которых телефонный номер, содержащийся в столбце PHONE (телефон), не начинается с 503.

Совет 2
Совет 2

Возможно, вам потребуется выполнить поиск строки, в которой находится знак процента или символ подчеркивания. В таком случае необходимо, чтобы SQL интерпретировал, например, знак процента как знак процента, а не как символ-маску. Проводить такой поиск можно, если перед символом, который при поиске должен восприниматься буквально, ввести управляющий символ. В качестве такого символа можно назначить любой символ, лишь бы его не было в проверяемой строке. Как это сделать, показано в следующем примере:

SELECT Quote

    FROM BARTLETTS

    WHERE Quote LIKE '20#%'

    ESCAPE '#' ;

Символ % превращается в обычный из символа-маски с помощью стоящего перед ним символа #. Точно таким же способом можно отключить и символ подчеркивания, а также сам управляющий символ. Например, предшествующий запрос должен найти такую цитату из "Bartlett's Familiar Quotations" (Известные цитаты Бартлетта):

20% of the salespeople produce 80% of the results.

Данный запрос найдет также следующее:

20%



Содержание раздела