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 |
+---------------+-----------------------+