メインコンテンツへスキップ
メインコンテンツへスキップ

ULID を扱うための関数

注記

以下のドキュメントは system.functions システムテーブルから生成されています。

ULIDStringToDateTime

導入バージョン: v23.3

この関数は、[ULID]((https://github.com/ulid/spec) に含まれるタイムスタンプを抽出します。

構文

ULIDStringToDateTime(ulid[, timezone])

引数

  • ulid — 入力ULID。String または FixedString(26)
  • timezone — オプション。返される値に対して使用するタイムゾーン名。String

返り値

ミリ秒精度のタイムスタンプ値。DateTime64(3)

使用例

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

generateULID

導入バージョン: v23.2

Universally Unique Lexicographically Sortable Identifier (ULID) を生成します。

構文

generateULID([x])

引数

  • x — 省略可。サポートされている任意のデータ型の値を返す式。結果の値自体は破棄されますが、クエリ内でこの関数が複数回呼び出される場合に、共通部分式除去 を回避するために式そのものが利用されます。型は Any です。

戻り値

ULID を返します。型は FixedString(26) です。

使用例

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

1 行に複数の値を生成する必要がある場合の使用例

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

関連項目