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

Tuple(T1, T2, ...)

Кортеж элементов, каждый из которых имеет свой отдельный тип. Кортеж должен содержать как минимум один элемент.

Кортежи используются для временной группировки колонок. Колонки могут быть сгруппированы, когда в запросе используется выражение IN, а также для указания определенных формальных параметров функций-лямбд. Для получения дополнительной информации смотрите разделы Операторы IN и Функции высшего порядка.

Кортежи могут быть результатом запроса. В этом случае, для текстовых форматов, отличных от JSON, значения разделены запятыми в скобках. В форматах JSON кортежи выводятся как массивы (в квадратных скобках).

Создание Кортежей

Вы можете использовать функцию для создания кортежа:

Пример создания кортежа:

Кортеж может содержать один элемент

Пример:

Синтаксис (tuple_element1, tuple_element2) может быть использован для создания кортежа из нескольких элементов без вызова функции tuple().

Пример:

Обнаружение типа данных

При создании кортежей на лету, ClickHouse интерпретирует тип аргументов кортежа как наименьшие типы, которые могут содержать предоставленное значение аргумента. Если значение является NULL, интерпретируемый тип — Nullable.

Пример автоматического обнаружения типа данных:

Ссылка на элементы Кортежа

Элементы кортежа могут быть упомянуты по имени или по индексу:

Результат:

Операции сравнения с Кортежем

Два кортежа сравниваются, последовательно сравнивая их элементы слева направо. Если элемент первого кортежа больше (меньше) соответствующего элемента второго кортежа, то первый кортеж больше (меньше) второго, в противном случае (если оба элемента равны) сравнивается следующий элемент.

Пример:

Примеры из реальной жизни: