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

用于处理 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 │
└────────────────────────────┴────────────────────────────┘

另请参阅