Операторы сравнения (визуальные инструменты для баз данных)
Обновлен: Ноябрь 2007
Можно использовать любые стандартные операторы SQL в условии поиска.
При использовании операторов в условиях поиска действуют следующие правила:
Типы используемых данных в сравнении должны совпадать. Т.е., текст можно сравнивать только с текстом, числа с числами и т.д. Некоторые системы управления базами данных позволяют использовать функцию или ключевое слово (например, CAST) для временного преобразования данных в другой тип. Дополнительные сведения см. в документации по своей базе данных.
Если сравнивать текстовые данные, результат зависит от текущей используемой кодировки. Например, если таблица была создана с помощью скандинавских символов, результаты поиска могут различаться в зависимости от того, используется ли в данный момент скандинавская кодировка (кодовая страница), или другая.
Если значение сравнения нулевое, результат неизвестен. Нулевые значения не считаются равными никаким другим значениям, включая другие нулевые значения. Например, при выполнении поиска имени, начинающегося с буквы "M" или выше (name >= 'M'), и некоторые строки не содержат значений, эти строки не появятся, независимо от того, какой оператор сравнения используется.
В следующей таблице собраны операторы условий поиска, определенные для стандартного SQL.
Примечание. |
---|
Информация в данном разделе основана на правилах стандартного SQL-92. Однако, каждая база данных может реализовывать SQL своим собственным способом. Поэтому правила, описанные здесь, могут быть применимы не во всех случаях. При возникновении вопросов по использованию операторов с конкретной базой данных обращайтесь к документации по используемой базе данных. |
Оператор |
Значение |
Пример области критериев* |
Пример области SQL |
---|---|---|---|
= |
Равно |
|
|
<> != |
Не равно |
|
|
> |
Больше |
|
|
< |
Меньше |
|
|
>= !< |
Больше или равно |
|
|
<= !> |
Меньше или равно |
|
|
BETWEEN expr1 AND expr2 |
Проверяет диапазон значений |
|
|
IS [ NOT ] NULL |
Проверяет, является ли содержимое столбца или результат выражения нулевым |
|
|
[ NOT ] LIKE |
Выполняет сравнение по шаблону (обычно допустимо только для символьных типов данных) |
|
|
expr1 [NOT] IN (val1, val2, ...) – или –expr1 [NOT] IN (subquery) |
Сопоставляет список конкретных значений путем проверки, входит ли выражение expr1 в список значений или набор результатов вложенного запроса |
|
|
ANY (SOME) |
Проверяет, соответствует ли одна или несколько строк в наборе результатов вложенного запроса заданному условию (ANY и SOME — синонимы; Конструктор запросов и представлений использует ANY при создании SQL инструкции). |
|
|
ALL |
Проверяет, соответствуют ли все строки в результирующем наборе вложенного запроса заданному условию |
|
|
[NOT] EXISTS |
Проверяет, возвращает ли вложенный запрос хоть какой-нибудь результат (не конкретный результат) |
|
|
* Для ясности, примеры области критериев содержат только один пример для каждого оператора и не указывает, в каком столбце данных выполняется поиск.
** Данные можно ввести в области критериев с помощью формата, указанного в диалоговом окне Свойства языка и стандартов Windows. Дополнительные сведения см. в разделе Правила ввода значений для поиска.