Functions for Working with ULID

generateULID

Generates the ULID.

Syntax

generateULID([x])

Arguments

  • x: Expression resulting in any of the supported data types. The resulting value is discarded, but the expression itself if used for bypassing common subexpression elimination if the function is called multiple times in one query. Optional parameter.

Returned value

The FixedString type value.

Usage example

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

Usage example if it is needed to generate multiple values in one row

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

ULIDStringToDateTime

This function extracts the timestamp from a ULID.

Syntax

ULIDStringToDateTime(ulid[, timezone])

Arguments

  • ulid: Input ULID. String or FixedString(26).
  • timezone: Timezone name for the returned value (optional). String.

Returned value

  • Timestamp with milliseconds precision. DateTime64(3).

Usage example

SELECT ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')
┌─ULIDStringToDateTime('01GNB2S2FGN2P93QPXDNB4EN2R')─┐
│                            2022-12-28 00:40:37.616 │
└────────────────────────────────────────────────────┘
Was this page helpful?
Updated