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

UUID_V7

Описание​

Генерирует UUID версии 7 нативного типа UUID. Версия 7 включает метку времени Unix в миллисекундах и подходит для идентификаторов, которые приблизительно упорядочиваются по времени генерации.

Псевдонимы​

GENERATE_UUID_V7, GENERATEUUIDV7.

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

Генерирует значение независимо для каждой строки. Не принимает аргументов, поэтому передавать NULL недопустимо. Может использоваться как динамическое значение по умолчанию для столбца типа UUID в CREATE TABLE; ALTER TABLE ADD COLUMN не поддерживает такое динамическое значение по умолчанию. См. тип UUID.

Генератор использует возрастающую метку времени и счётчик внутри каждого процесса BE. Глобальный порядок генерации между процессами BE не гарантируется. Откат часов или переполнение счётчика могут привести к тому, что закодированная метка времени будет опережать время системных часов. Не используйте её как точную метку времени события или глобальный порядковый номер.

Синтаксис​

UUID_V7()

Параметры​

ПараметрОписание
НетНе принимает аргументов.

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

Возвращает значение типа UUID, которое никогда не бывает NULL. Значения отображаются в каноническом формате длиной 36 символов с буквами в нижнем регистре.

Пример​

SELECT UUID_VERSION(UUID_V7()) AS version,
LENGTH(CAST(UUID_V7() AS STRING)) AS text_length;
+---------+-------------+
| version | text_length |
+---------+-------------+
| 7 | 36 |
+---------+-------------+
SELECT UUID_VERSION(GENERATE_UUID_V7()) AS alias_version,
UUID_VERSION(GENERATEUUIDV7()) AS compact_alias_version;
+---------------+-----------------------+
| alias_version | compact_alias_version |
+---------------+-----------------------+
| 7 | 7 |
+---------------+-----------------------+