Подстановочные знаки
Можно выполнять поиск по столбцам данных и выражениям с использованием подстановочных знаков. Например, можно выполнить поиск всех сотрудников, фамилия которых начинается с букв "Ива" или заканчивается буквами "ов".
Подстановочные знаки
Подстановочные знаки используются при поиске по столбцам, которые могут рассматриваться как строки текста. Столбцы с символьным типом данных всегда считаются строками текста; столбцы с типом данных даты и времени в некоторых базах данных также обрабатываются как строки текста.
При выполнении поиска по шаблону используется оператор LIKE с указанием в поисковой строке подстановочных знаков для одного или нескольких знаков. Доступны следующие подстановочные знаки:
Подстановочный знак |
Значение |
---|---|
Знак процента (%) |
От нуля знаков в этой позиции. |
Знак подчеркивания (_) |
Один знак в этой позиции. |
Например, для поиска всех фамилий, которые начинаются с букв "Van", можно задать условие поиска LIKE 'Van%'. Для поиска таких фамилий, как "Jan", "Jen" и "Jon", можно ввести условие поиска LIKE 'J_n'.
Поиск по символам, используемым как подстановочные знаки
В некоторых случаях может возникнуть необходимость выполнить поиск по строке, содержащей один из знаков, который является подстановочным. Например, может потребоваться найти все публикации в таблице titles, которые содержат в заголовке текст "10%". Так как знак процента (%) является частью искомой строки, необходимо указать, что в данном случае он должен рассматриваться как литерал, а не подстановочный знак.
При поиске знаков, которые могут обрабатываться как подстановочные знаки, можно указать escape-символ. Escape-символ следует поместить непосредственно перед знаком "%" или "_", который должен обрабатываться как литерал. Чтобы указать escape-символ, включите предложение ESCAPE сразу после условия поиска LIKE. Это можно выполнить в столбце "Условия" в области условий или области SQL.
Например, предположим, что нужно найти все издания, которые содержат в заголовке текст "10%". Предположим также, что нужно определить знак решетки (#) как escape-символ, что позволит вставить знак "#" перед знаком "%", который должен обрабатываться как литерал. В этом случае можно ввести в области условий следующую строку:
LIKE '%10#%%' ESCAPE '#'
В итоге предложение WHERE в инструкции SQL будет иметь следующий вид:
WHERE title LIKE '%10#%%' ESCAPE '#'
Примечание
Escape-символы определяются только в области SQL.
Поиск по столбцам с типом данных даты и времени
При работе со столбцами, имеющими тип данных даты и времени, можно выполнять поиск по любой части даты и времени, включая сокращенное название месяца и полное обозначение года.
Примечание
Возможность выполнять поиск по столбцам с типом данных даты и времени зависит от используемой базы данных и возможности выполнять поиск по данным такого типа как по строкам.Дополнительные сведения см. в документации по своей базе данных.
Например, в базе данных Microsoft SQL Server можно использовать следующее предложение LIKE для поиска всех строк, в которых дата приходится на 1994 год:
LIKE '%1994%'
Следующая строка выполняет поиск всех строк, в которых дата приходится на январь, независимо от года:
LIKE 'Jan%'
Точный формат строк, которые можно использовать для поиска по столбцам данных с типом даты и времени, зависит от конкретной базы данных.
Примечание
Если региональные параметры компьютера, на котором находится база данных, отличаются от параметров компьютера, на котором выполняется запрос, этом может привести к непредсказуемым результатам.Чтобы избежать этого, следует использовать на компьютере базы данных выражение форматирования даты.Подробные сведения см. в документации по своей системе управления базой данных.
Примеры поиска с использованием подстановочных знаков
В приведенных ниже примерах демонстрируется использование подстановочных знаков.
Выражение поиска |
Описание |
Примеры |
---|---|---|
|
Поиск значений, начинающихся с "Van". |
Vann, Van Beeck, Vanderhorn |
|
Поиск значений, начинающихся с буквы "J" и заканчивающихся буквой "n". |
Jon, Johnson, Jason, Juan |
|
Поиск значений, заканчивающихся на "son". |
Son, Anderson |
|
Поиск значений, в которых есть текст "sam". |
Sam, Samson, Grossam |
|
Поиск значений в столбце даты и времени, которые приходятся на март, независимо от года. |
1 марта 94, 1 марта 1992 года |
|
Поиск значений в столбце даты и времени для года 1994. |
12 января 94, 1 января 1994 года |
|
Поиск значений, состоящих из четырех знаков, первые три из которых — "Mac". |
Mack, Macs |
|
Поиск значений, состоящих из четырех знаков, последние три из которых — "dam". |
Adam, Odam |
|
Поиск значений, где в конце находятся знаки "s" и "n", между которыми расположен любой один знак, а перед которыми — любое количество знаков. |
Anderson, Andersen, Johnson, san, sun |