Перейти к основному содержанию

Правила сравнения

Приведённые ниже функции сравнения возвращают 0 или 1 и имеют тип UInt8. Сравнивать можно только значения из одной и той же группы (например, UInt16 и UInt64), но не из разных групп (например, UInt16 и DateTime). Можно сравнивать числа и строки, а также строки с датами и даты со временем. Для кортежей и массивов используется лексикографическое сравнение, то есть сравнивается каждый соответствующий элемент кортежа/массива слева и справа. Можно сравнивать следующие типы:
  • числа и десятичные числа
  • строки и строки фиксированной длины
  • даты
  • даты со временем
  • кортежи (лексикографическое сравнение)
  • массивы (лексикографическое сравнение)
Строки сравниваются побайтно. Это может приводить к неожиданным результатам, если одна из строк содержит многобайтные символы в кодировке UTF-8. Строка S1, для которой другая строка S2 является префиксом, считается длиннее S2.

equals

Добавленный в: v1.1.0 Сравнивает два значения на равенство. Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a равно b, иначе — 0 UInt8 Примеры Пример использования
Query
Response

globalIn

Добавленный в: v1.1.0 То же, что и in, но использует глобальное распределение множества в распределённых запросах. Множество отправляется на все удалённые серверы. Синтаксис
Аргументы
  • x — Значение, которое нужно проверить. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x входит в множество, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

globalInIgnoreSet

Добавленный в: v1.1.0 То же, что и in, но использует глобальное распространение множества в распределенных запросах. Множество отправляется на все удаленные серверы. Это вариант IgnoreSet, используемый для анализа типов без создания самого множества. Синтаксис
Аргументы
  • x — Значение, которое нужно проверить. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x содержится в множестве, иначе 0. UInt8 Примеры Базовое использование
Query
Response

globalNotIn

Добавленный в: v1.1.0 То же, что и notIn, но использует глобальное распространение множества в распределённых запросах. Множество отправляется на все удалённые серверы. Синтаксис
Аргументы
  • x — Значение для проверки. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

globalNotInIgnoreSet

Добавленный в: v1.1.0 То же, что и notIn, но использует глобальное распространение множества в распределённых запросах. Множество отправляется на все удалённые серверы. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, и 0 — в противном случае. UInt8 Примеры Базовое использование
Query
Response

globalNotNullIn

Добавленный в: v1.1.0 То же, что и notNullIn, но в распределённых запросах использует глобальное распределение множества. Множество отправляется на все удалённые серверы. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, иначе — 0. UInt8 Примеры Базовое использование
Query
Response

globalNotNullInIgnoreSet

Добавленный в: v1.1.0 То же, что и notNullIn, но использует глобальное распределение множества в распределённых запросах. Множество отправляется на все удалённые серверы. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

globalNullIn

Добавленный в: v1.1.0 То же, что и nullIn, но использует глобальную дистрибуцию множества в распределённых запросах. Множество отправляется на все удалённые серверы. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x содержится во множестве, иначе 0. UInt8 Примеры Базовое использование
Query
Response

globalNullInIgnoreSet

Добавленный в: v1.1.0 То же, что и nullIn, но использует глобальное распространение множества в распределённых запросах. Множество отправляется на все удалённые серверы. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x входит в множество, иначе — 0. UInt8 Примеры Базовое использование
Query
Response

greater

Добавленный в: v1.1.0 Сравнивает два значения, проверяя, больше ли одно другого. Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a больше b, иначе — 0 UInt8 Примеры Пример использования
Query
Response

greaterOrEquals

Добавленный в: v1.1.0 Сравнивает два значения по условию «больше или равно». Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a больше или равно b, и 0 в противном случае UInt8 Примеры Пример использования
Query
Response

in

Добавленный в: v1.1.0 Проверяет, входит ли левый операнд в множество правого операнда. Возвращает 1, если входит, и 0 в противном случае. Значения NULL в левом операнде пропускаются (считаются не входящими в множество). Синтаксис
Аргументы
  • x — Значение, которое нужно проверить. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x содержится в множестве, иначе — 0. UInt8 Примеры Базовое использование
Query
Response

inIgnoreSet

Добавленный в: v1.1.0 Проверяет, входит ли левый операнд в множество правого операнда. Возвращает 1, если входит, и 0 в противном случае. Значения NULL в левом операнде пропускаются (считаются не входящими в множество). Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x находится во множестве, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

isDistinctFrom

Добавленный в: v25.11.0 Выполняет сравнение двух значений на неравенство с безопасной обработкой NULL. Возвращает true, если значения различны (не равны), в том числе когда одно значение равно NULL, а другое — нет. Возвращает false, если значения равны или оба равны NULL. Синтаксис
Аргументы
  • x — Первое значение для сравнения. Может иметь любой тип данных ClickHouse. Any
  • y — Второе значение для сравнения. Может иметь любой тип данных ClickHouse. Any
Возвращаемое значение Возвращает true, если два значения различаются, при этом NULL считаются сравнимыми:
  • Возвращает true, если x != y.
    • Возвращает true, если только одно из значений x или y равно NULL.
    • Возвращает false, если x = y или оба значения x и y равны NULL. Bool
Примеры Базовое использование с числами и NULL
Query
Response

isNotDistinctFrom

Добавленный в: v23.8.0 Выполняет сравнение двух значений на “равенство” с безопасной обработкой NULL. Возвращает true, если значения равны, в том числе когда оба значения — NULL. Возвращает false, если значения различаются или только одно из них равно NULL. Синтаксис
Аргументы
  • x — Первое сравниваемое значение. Может иметь любой тип данных ClickHouse. Any
  • y — Второе сравниваемое значение. Может иметь любой тип данных ClickHouse. Any
Возвращаемое значение Возвращает true, если два значения равны, при этом NULL считаются сравнимыми:
  • Возвращает true, если x = y.
    • Возвращает true, если и x, и y равны NULL.
    • Возвращает false, если x != y или только одно из значений x или y равно NULL. Bool
Примеры Базовое использование с числами и NULL
Query
Response

less

Добавленный в: v1.1.0 Сравнивает два значения, проверяя, меньше ли одно другого. Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a меньше b, иначе — 0 UInt8 Примеры Пример использования
Query
Response

lessOrEquals

Добавленный в: v1.1.0 Сравнивает два значения, проверяя, меньше ли первое второго или равно ему. Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a меньше либо равно b, в противном случае — 0 UInt8 Примеры Пример использования
Query
Response

notEquals

Добавленный в: v1.1.0 Проверяет два значения на неравенство. Синтаксис
Аргументы
  • a — Первое значение.* - b — Второе значение.*
Возвращаемое значение Возвращает 1, если a не равно b, и 0 в противном случае. UInt8 Примеры Пример использования
Query
Response

notIn

Добавленный в: v1.1.0 Проверяет, что левый операнд НЕ является элементом множества правого операнда. Возвращает 1, если он не входит в множество, иначе — 0. Значения NULL в левом операнде пропускаются. Синтаксис
Аргументы
  • x — Значение для проверки. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, иначе — 0. UInt8 Примеры Базовое использование
Query
Response

notInIgnoreSet

Добавленный в: v1.1.0 Проверяет, не входит ли левый операнд в множество правого операнда. Возвращает 1, если не входит, и 0 — в противном случае. Значения NULL в левом операнде пропускаются. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Значение для проверки. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не входит в множество, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

notNullIn

Добавленный в: v1.1.0 Проверяет, что левый операнд НЕ входит в множество правого операнда. В отличие от notIn, значения NULL не пропускаются: NULL сравнивается с элементами множества, и выражение NULL = NULL дает true. Синтаксис
Аргументы
  • x — Значение для проверки. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x не содержится во множестве, в противном случае — 0. UInt8 Примеры Базовое использование
Query
Response

notNullInIgnoreSet

Добавленный в: v1.1.0 Проверяет, что левый операнд НЕ входит в множество правого операнда. В отличие от notIn, значения NULL не пропускаются: NULL сравнивается с элементами множества, и выражение NULL = NULL дает true. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Множество значений.
Возвращаемое значение Возвращает 1, если x отсутствует в множестве, иначе — 0. UInt8 Примеры Базовое использование
Query
Response

nullIn

Добавленный в: v1.1.0 Проверяет, входит ли левый операнд в множество правого операнда. В отличие от in, значения NULL не пропускаются: NULL сравнивается с элементами множества, и выражение NULL = NULL дает true. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Набор значений.
Возвращаемое значение Возвращает 1, если x входит в набор, иначе 0. UInt8 Примеры Базовое использование
Query
Response

nullInIgnoreSet

Добавленный в: v1.1.0 Проверяет, входит ли левый операнд в множество правого операнда. В отличие от in, значения NULL не пропускаются: NULL сравнивается с элементами множества, и выражение NULL = NULL считается истинным. Это вариант IgnoreSet, используемый для анализа типов без создания множества. Синтаксис
Аргументы
  • x — Проверяемое значение. - set — Набор значений.
Возвращаемое значение Возвращает 1, если x находится в наборе, иначе 0. UInt8 Примеры Базовое использование
Query
Response
Последнее изменение 25 июня 2026 г.