Functions for Working with ULID¶
The following functions are available 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 │ └────────────────────────────┘
The following example generates 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 │ └────────────────────────────────────────────────────┘