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

Tuple(T1, T2, ...)

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

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

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

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

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

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

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

Пример:

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

Пример:

Определение типа данных

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

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

Обращение к элементам Кортежа

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

Результат:

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

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

Пример:

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