Перейти к основному содержанию
Перейти к основному содержанию

Функции для работы с 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

Генерирует универсальный уникальный лексикографически сортируемый идентификатор (ULID).

Синтаксис

generateULID([x])

Аргументы

  • x — Необязательный аргумент. Выражение, дающее на выходе значение любого из поддерживаемых типов данных. Полученное значение отбрасывается, но само выражение используется для обхода устранения общих подвыражений, если функция вызывается несколько раз в одном запросе. Any

Возвращаемое значение

Возвращает ULID. FixedString(26)

Примеры

Пример использования

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

Пример использования при необходимости сгенерировать несколько значений в одной строке

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

См. также