Предикат 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%