Функции сравнения
Правила сравнения
Перечисленные ниже функции сравнения возвращают значения 0 или 1 типа UInt8. Сравнивать можно только значения внутри одной группы (например, UInt16 и UInt64), но не между группами (например, UInt16 и DateTime).
Возможны сравнения чисел и строк, а также строк с датами и дат с временем.
Для кортежей и массивов используется лексикографическое сравнение, то есть сравнение выполняется для каждого соответствующего
элемента кортежа/массива слева и справа.
Сравнивать можно следующие типы:
- числа и десятичные числа
- строки и строки фиксированной длины
- даты
- даты со временем
- кортежи (лексикографическое сравнение)
- массивы (лексикографическое сравнение)
Строки сравниваются побайтно. Это может приводить к неожиданным результатам, если одна из строк содержит многобайтовые символы в кодировке UTF-8. Строка S1, для которой строка S2 является префиксом, считается более длинной, чем S2.
equals
Добавлена в версии: v1.1
Сравнивает два значения на равенство.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a равно b, иначе 0 типа UInt8.
Примеры
Пример использования
greater
Добавлена в версии v1.1
Проверяет, является ли одно значение больше другого.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a больше b, иначе 0 типа UInt8
Примеры
Пример использования
greaterOrEquals
Появилась в версии: v1.1
Сравнивает два значения, проверяя, выполняется ли отношение «больше или равно».
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a больше либо равно b, в противном случае — 0 типа UInt8.
Примеры
Пример использования
isDistinctFrom
Введена в версии: v25.11
Выполняет NULL-безопасное сравнение «не равно» между двумя значениями.
Возвращает true, если значения различаются (не равны), включая случай, когда одно значение равно NULL, а другое — нет.
Возвращает false, если значения равны или если оба равны NULL.
Синтаксис
Аргументы
x— первое значение для сравнения. Может иметь любой тип данных ClickHouse.Anyy— второе значение для сравнения. Может иметь любой тип данных ClickHouse.Any
Возвращаемое значение
Возвращает true, если два значения различаются, при этом NULL считаются сравнимыми значениями:
- Возвращает
true, если x != y.- Возвращает
true, если ровно одно из x или y равно NULL. - Возвращает
false, если x = y или оба x и y равны NULL.Bool
- Возвращает
Примеры
Базовое использование с числами и NULL
isNotDistinctFrom
Добавлена в версии: v25.10
Выполняет безопасное в отношении NULL сравнение на равенство между двумя значениями.
Возвращает true, если значения равны, включая случай, когда оба равны NULL.
Возвращает false, если значения различаются или если ровно одно из них равно NULL.
Синтаксис
Аргументы
x— первое значение для сравнения. Может быть любого типа данных ClickHouse.Anyy— второе значение для сравнения. Может быть любого типа данных ClickHouse.Any
Возвращаемое значение
Возвращает true, если два значения равны, считая значения NULL сравнимыми:
- Возвращает
true, если x = y.- Возвращает
true, если и x, и y равны NULL. - Возвращает
false, если x != y или только одно из x или y равно NULL.Bool
- Возвращает
Примеры
Базовое использование с числами и NULL
less
Впервые появилась в версии: v1.1
Сравнивает два значения на предмет отношения «меньше чем».
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a меньше b, в противном случае — 0 UInt8.
Примеры
Пример использования
lessOrEquals
Добавлена в версии: v1.1
Сравнивает два значения на предмет отношения «меньше или равно».
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a меньше или равно b, иначе — 0 (типа UInt8).
Примеры
Пример использования
notEquals
Появилась в версии: v1.1
Сравнивает два значения на неравенство.
Синтаксис
Аргументы
Возвращаемое значение
Возвращает 1, если a не равно b, в противном случае — 0. UInt8
Примеры
Пример использования