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

ULID を扱うための関数

注記

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

ULIDStringToDateTime

導入バージョン: v23.3

この関数は、ULID からタイムスタンプ部分を抽出します。

構文

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 — 省略可。評価結果がサポートされたいずれかのデータ型になる式。結果の値自体は破棄されますが、1つのクエリ内でこの関数が複数回呼び出される場合に、共通部分式除去を回避するために式自体が使用されます。Any

戻り値

ULID を返します。FixedString(26)

使用例

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

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

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

関連項目