Skip to main content
Last updated on

UUID_V7

Description

Generates a version 7 UUID of the native UUID type. Version 7 includes a Unix timestamp in milliseconds and is useful for identifiers that roughly sort by generation time.

Alias

GENERATE_UUID_V7, GENERATEUUIDV7.

Usage Notes

Generates a value independently for each row. It takes no arguments, so passing NULL is invalid. It can be a dynamic default for a UUID column in CREATE TABLE; ALTER TABLE ADD COLUMN does not support this dynamic default. See the UUID type.

The generator uses an increasing timestamp and counter within each BE process. It does not guarantee global generation order across BEs. Clock rollback or counter overflow can put the encoded timestamp ahead of the wall clock. Do not use it as an exact event timestamp or a global sequence number.

Syntax

UUID_V7()

Parameters

ParameterDescription
NoneTakes no arguments.

Return Value

Returns the UUID type, never NULL. Values are displayed in the 36-character lowercase canonical format.

Example

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