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