Skip to main content
Skip to main content
Edit this page

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

generateUUIDv4

Генерирует идентификатор UUID версии 4.

Синтаксис

Аргументы

Возвращаемое значение

Значение типа UUID.

Пример использования

Этот пример демонстрирует, как создать таблицу с UUID-колонкой и добавить в нее сгенерированный UUID.

Пример использования, для генерации нескольких значений в одной строке

generateUUIDv7

Генерирует идентификатор UUID версии 7. Генерируемый UUID состоит из 48-битной временной метки (Unix time в миллисекундах), маркеров версии 7 и варианта 2, монотонно возрастающего счётчика для данной временной метки и случайных данных в указанной ниже последовательности. Для каждой новой временной метки счётчик стартует с нового случайного значения, а для следующих UUIDv7 он увеличивается на единицу. В случае переполнения счётчика временная метка принудительно увеличивается на 1, и счётчик снова стартует со случайного значения. Монотонность возрастания счётчика для каждой временной метки гарантируется между всеми одновременно работающими функциями generateUUIDv7.

Note

На апрель 2024 года UUIDv7 находится в статусе черновика и его раскладка по битам может в итоге измениться.

Синтаксис

Аргументы

Возвращаемое значение

Значение типа UUID.

Пример использования

Этот пример демонстрирует, как создать таблицу с UUID-колонкой и добавить в нее сгенерированный UUIDv7.

Пример использования, для генерации нескольких значений в одной строке

empty

Проверяет, является ли входной UUID пустым.

Синтаксис

UUID считается пустым, если он содержит все нули (нулевой UUID).

Функция также поддерживает работу с типами Array и String.

Параметры

  • x — UUID на входе функции. UUID.

Возвращаемое значение

  • Возвращает 1 для пустого UUID или 0 — для непустого UUID.

Тип: UInt8.

Пример

Для генерации UUID-значений предназначена функция generateUUIDv4.

Запрос:

Ответ:

notEmpty

Проверяет, является ли входной UUID непустым.

Синтаксис

UUID считается пустым, если он содержит все нули (нулевой UUID).

Функция также поддерживает работу с типами Array и String.

Параметры

  • x — UUID на входе функции. UUID.

Возвращаемое значение

  • Возвращает 1 для непустого UUID или 0 — для пустого UUID.

Тип: UInt8.

Пример

Для генерации UUID-значений предназначена функция generateUUIDv4.

Запрос:

Результат:

toUUID (x)

Преобразует значение типа String в тип UUID.

Возвращаемое значение

Значение типа UUID.

Пример использования

toUUIDOrNull (x)

Принимает строку, и пытается преобразовать в тип UUID. При неудаче возвращает NULL.

Возвращаемое значение

Значение типа Nullable(UUID).

Пример использования

toUUIDOrZero (x)

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

Возвращаемое значение

Значение типа UUID.

Пример использования

UUIDStringToNum

Принимает строку, содержащую 36 символов в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, и возвращает в виде набора байт в FixedString(16).

Возвращаемое значение

FixedString(16)

Пример использования

UUIDNumToString

Принимает значение типа FixedString(16). Возвращает строку из 36 символов в текстовом виде.

Возвращаемое значение

Значение типа String.

Пример использования

UUIDToNum

Принимает UUID и возвращает в виде набора байт в FixedString(16). Также принимает необязательный второй параметр - вариант представления UUID, по умолчанию 1 - Big-endian (2 означает представление в формате Microsoft). Данная функция заменяет последовательность из двух отдельных функций UUIDStringToNum(toString(uuid)), так что промежуточная конвертация из UUID в String для извлечения набора байт из UUID не требуется.

Возвращаемое значение

FixedString(16)

Примеры использования

UUIDv7ToDateTime

Принимает UUID версии 7 и извлекает из него временную метку.

Параметры

  • uuidUUID версии 7.
  • timezoneЧасовой пояс для возвращаемого значения (необязательный параметр). String.

Возвращаемое значение

  • Временная метка с миллисекундной точностью (1970-01-01 00:00:00.000 в случае UUID не версии 7).

Type: DateTime64(3).

Примеры использования

serverUUID()

Возвращает случайный и уникальный UUID, который генерируется при первом запуске сервера и сохраняется навсегда. Результат записывается в файл uuid, расположенный в каталоге сервера ClickHouse /var/lib/clickhouse/.

Синтаксис

Возвращаемое значение

  • UUID сервера.

Тип: UUID.

См. также: