跳到主要内容
跳到主要内容

ULID 的处理函数

注意

下面的文档是从 system.functions 系统表生成的。

ULIDStringToDateTime

在 v23.3 中引入

该函数用于从 ULID 中提取时间戳。

语法

ULIDStringToDateTime(ulid[, timezone])

参数

返回值

具有毫秒精度的时间戳。DateTime64(3)

示例

用法示例

SELECT ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')
┌─ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')─┐
│                            2022-12-28 00:40:37.616 │
└────────────────────────────────────────────────────┘

generateULID

引入版本:v23.2

生成一个通用唯一、按字典序可排序的标识符(ULID)

语法

generateULID([x])

参数

  • x — 可选。一个表达式,其结果可以是任意受支持的数据类型。结果值会被丢弃,但表达式本身可用于在函数在同一个查询中被多次调用时绕过公共子表达式消除Any

返回值

返回一个 ULID。FixedString(26)

示例

用法示例

SELECT generateULID()
┌─generateULID()─────────────┐
│ 01GNB2S2FGN2P93QPXDNB4EN2R │
└────────────────────────────┘

如需在同一行中生成多个值的用法示例

SELECT generateULID(1), generateULID(2)
┌─generateULID(1)────────────┬─generateULID(2)────────────┐
│ 01GNB2SGG4RHKVNT9ZGA4FFMNP │ 01GNB2SGG4V0HMQVH4VBVPSSRB │
└────────────────────────────┴────────────────────────────┘

另请参阅