跳到主要内容
最后 更新

UUID_V7

描述

生成原生 UUID 类型的版本 7 UUID。版本 7 包含 Unix 毫秒时间戳,适合需要按生成时间大致排序的标识符。

别名

GENERATE_UUID_V7, GENERATEUUIDV7.

使用说明

每行独立生成一个值,函数不接受参数,不能传入 NULL。可在建表时用作 UUID 列的动态默认值;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 |
+---------------+-----------------------+