uuid_extract_timestamp()
是一个用于从版本1 UUID
中提取时间戳的系统函数。
uuid_extract_timestamp()
在 PostgreSQL 17 中添加。
用法
uuid_extract_timestamp (uuid
) →timestamp with time zone
如果提供的 UUID
不是版本 1
(或从 PostgreSQL 18 开始) 版本 7
,则返回 NULL
。
变更历史
- PostgreSQL 18
- 支持
UUID
版本7
(提交 78c5e141)
- 支持
- PostgreSQL 17
- 添加 (提交 794f10f6)
示例
使用 uuid-ossp
扩展中的 uuid_generate_v1()
函数来演示 uuid_extract_timestamp()
的基本用法
postgres=# SELECT uuid_extract_timestamp( uuid_generate_v1() ); uuid_extract_timestamp ------------------------------- 2024-03-20 15:25:01.989091+09 (1 row)
对于版本 1
和 7
以外的 UUID
版本,将返回 NULL
postgres=# SELECT uuid_extract_timestamp( gen_random_uuid() ) IS NULL; ?column? ---------- t (1 row) postgres=# SELECT uuid_extract_timestamp( uuid_generate_v3 ( uuid_ns_oid(), 'foo') ) IS NULL; ?column? ---------- t (1 row)
参考资料
- PostgreSQL 文档: UUID 函数