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 │ └────────────────────────────────────────────────────┘