Управл_данными / 09-where
.pdfМетасимвол "знак процента" (%)
Наиболее часто используемый метасимвол — знак процента (%).
В шаблоне поиска % означает что вместо него может быть подставлено любое количество любых символов.
Если вы работаете в Microsoft Access, необходимо использовать символ * вместо символа %.
21
Пример
Например, чтобы найти все продукты, названия которых начинаются со слова ‘Рыба’, нужно выполнить следующий запрос:
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Рыба%'
В Ms Access тот же запрос будет выглядеть так:
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Рыба*'
22
Метасимволы можно использовать в любом месте шаблона поиска, причем в неограниченном количестве:
SELECT Фамилия
FROM Студент
WHERE Фамилия LIKE ’И*нов*’
В результате можем получить целый набор фамилий:
Инов, Ионов, Иванов, Иванова, Ивановский и т.д.
23
Метасимвол "подчеркивание" (_)
Символ подчеркивания используется так же, как и %, но при этом учитывается не много символов, а только один
В Microsoft Access, используется знак ? вместо символа _
В отличие от знака %, который подразумевает также отсутствие символов, знак _ всегда означает только один символ - не более и не менее
В некоторых СУБД могут использоваться и другие метасимволы
24
Скорость выполнения запросов с метасимволами
Метасимволы в SQL — это очень мощный механизм. Но за эту мощь приходится платить: поиск с
использованием метасимволов требует больше времени на обработку, чем любые другие виды поиска, которые мы обсуждали ранее.
Из двух запросов второй будет выполнен быстрее:
SELECT Фамилия
FROM Студент
WHERE Фамилия LIKE ’Б*’
SELECT Фамилия
FROM Студент
WHERE Фамилия >= ’Б’ AND Фамилия < ’В’
25