Функции для работы с UUID

Функции для работы с UUID обеспечивают создание, преобразование и проверку уникальных идентификаторов, применяемых для обеспечения уникальности объектов в базах данных, системах и приложениях. Эти функции позволяют генерировать UUID четвертой версии, проверять UUID на пустоту или наличие значений, а также осуществлять преобразования между строковыми и двоичными представлениями UUID. Кроме того, доступна функция для получения уникального идентификатора сервера, что может быть использовано для идентификации источника данных или обеспечения трассировки в распределенных системах.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список функций для работы с UUID для ClickHouse 24.7.

Table 1. Функции для работы с UUID
Функция Описание

generateUUIDv4([x])

Генерирует UUID четвертой версии. Необязательный параметр x используется для обхода удаления общих подвыражений, если функция вызывается несколько раз в одном запросе. Возвращает значение типа UUID.

empty(UUID)

Проверяет, является ли входной UUID пустым (содержит все нули). Работает также с массивами и строками. Возвращает 1 для пустого UUID и 0 для непустого.

notEmpty(UUID)

Проверяет, не является ли входной UUID пустым. Возвращает 1 для непустого UUID и 0 для пустого.

UUIDStringToNum(uuid[, variant = 1])

Преобразует строковое представление UUID в двоичное, с указанием варианта формата (по умолчанию Big-endian). Возвращает значение типа FixedString(16).

UUIDNumToString(binary[, variant = 1])

Принимает двоичное представление UUID и возвращает строку из 36 символов в текстовом формате. Вариант формата может быть указан (по умолчанию Big-endian).

serverUUID()

Возвращает случайный и уникальный UUID сервера, который генерируется при первом запуске и сохраняется навсегда. Возвращает UUID сервера.