Tuple(T1, T2, ...)
Кортеж элементов, каждый из которых имеет индивидуальный тип. Кортеж должен содержать как минимум один элемент.
Кортежи используются для временной группировки колонок. Колонки могут быть сгруппированы, когда в запросе используется выражение IN, и для указания определенных формальных параметров лямбда-функций. Для получения дополнительной информации смотрите разделы Операторы IN и Функции высших порядков.
Кортежи могут быть результатом запроса. В этом случае, для текстовых форматов, кроме JSON, значения разделяются запятыми в скобках. В форматах JSON кортежи выводятся как массивы (в квадратных скобках).
Создание Кортежей
Вы можете использовать функцию для создания кортежа:
Пример создания кортежа:
Кортеж может содержать один элемент.
Пример:
Синтаксис (tuple_element1, tuple_element2)
может быть использован для создания кортежа из нескольких элементов без вызова функции tuple()
.
Пример:
Определение типа данных
При создании кортежей на лету, ClickHouse определяет тип аргументов кортежа как наименьший тип, который может содержать предоставленное значение аргумента. Если значение является NULL, определенный тип - Nullable.
Пример автоматического определения типа данных:
Обращение к элементам Кортежа
Элементы кортежа могут быть указаны по имени или по индексу:
Результат:
Операции сравнения с Кортежем
Два кортежа сравниваются путём последовательного сравнения их элементов слева направо. Если элемент первого кортежа больше (меньше) соответствующего элемента второго кортежа, то первый кортеж больше (меньше) второго, в противном случае (оба элемента равны) сравнивается следующий элемент.
Пример:
Примеры из реальной жизни: