FUNCTIONUUID 函数
uuid_extract_timestamp
从版本 1 或 7 的 UUID 中提取 timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。
Extracts a timestamp with time zone from a UUID of version 1, 6, or 7.
UUID 函数 引入 17 现存至 20 devel 1 条签名 1 次签名变更
- 分组
- UUID 函数
- 签名数
- 1 条
- 引入版本
- 17
- 状态
- 现存
- 签名变更
- 1 次
- 本版来源
- 英文原文
版本轨迹
相对 PostgreSQL 17:新增 1 条签名,移除 1 条。
说明
timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。uuid_extract_timestamp ( uuid ) → timestamp with time zone从版本 1 或 7 的 UUID 中提取
timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。签名
PostgreSQL 18.7 里 uuid_extract_timestamp 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
新
uuid_extract_timestamp(uuid) →timestamp with time zone从版本 1 或 7 的 UUID 中提取timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。uuid_extract_timestamp('019535d9-3df7-79fb-b466-fa907fa17f9e' :: uuid)2025-02-23 21:46:24.503-05
本版移除的签名
PostgreSQL 17 有、18.7 不再有的 1 条签名,取自上一版快照。
-
uuid_extract_timestamp (uuid) → timestamp with time zone这个函数从版本 1 的 UUID 中提取 timestamp with time zone。对于其他版本,此函数返回 NULL。注意,提取的时间戳不一定与 UUID 生成的时间完全相同;这取决于生成 UUID 的实现。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 20 ← 19 说明更新
说明更新
-
PostgreSQL 18 ← 17 签名变更
uuid_extract_timestamp ( uuid ) → timestamp with time zoneuuid_extract_timestamp (uuid) → timestamp with time zone说明更新 -
PostgreSQL 17 ← 16 新增此函数
PostgreSQL 17 起可用
签名矩阵
每条签名在给出了签名的 4 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
gen_random_uuid |
1 | gen_random_uuid ( ) → uuid |
181 次 | |
| 生成一个版本 4(随机)的 UUID | 现存 | |||
uuid_extract_timestamp |
1 | uuid_extract_timestamp ( uuid ) → timestamp with time zone |
181 次 | |
| 从版本 1、6 或 7 的 UUID 中提取 timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。 | 现存 | |||
uuid_extract_version |
1 | uuid_extract_version ( uuid ) → smallint |
181 次 | |
| 从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。 | 现存 | |||
uuidv4 |
1 | uuidv4 ( ) → uuid |
— | |
| 生成一个版本 4(随机)的 UUID | 现存 | |||
uuidv7 |
1 | uuidv7 ( [ shift interval ] ) → uuid |
— | |
| 生成一个版本 7(按时间排序)的 UUID。其时间戳由 UNIX 时间戳(毫秒精度)加上亚毫秒时间戳和随机值计算得到。可选参数 shift 会按给定的 interval 偏移计算出的时间戳。不接受无穷 interval 值。偏移后的时间戳必须位于 UUID 版本 7 的 48 位毫秒时间戳字段所支持的范围内:从 1970-01-01 00:00:00 UTC 到大约 10889 年。如果结果时间戳超出此范围,则会引发错误。 | 现存 | |||