Функции для работы с UUID
Генерация UUIDv7
unix_ts_ms) счётчик начинается со случайного значения и увеличивается на 1 для каждого нового UUID, пока временная метка не изменится. В случае переполнения счётчика поле временной метки увеличивается на 1, а счётчик сбрасывается до нового случайного начального значения.
Функции генерации UUID гарантируют, что поле счётчика в пределах одной временной метки монотонно увеличивается при всех вызовах функций в параллельно выполняемых потоках и запросах.
Генерация Snowflake ID
unix_ts_ms) счётчик начинается с 0 и увеличивается на 1 для каждого нового Snowflake ID, пока временная метка не изменится. В случае переполнения счётчика поле временной метки увеличивается на 1, а счётчик сбрасывается в 0.
Сгенерированные Snowflake ID отсчитываются от эпохи UNIX 1970-01-01. Хотя для эпохи Snowflake ID не существует ни стандарта, ни рекомендаций, реализации в других системах могут использовать другую эпоху, например Twitter/X (2010-11-04) или Mastodon (2015-01-01).
UUIDNumToString
variant (по умолчанию — Big-endian), и возвращает строку из 36 символов в текстовом формате.
Синтаксис
binary— Двоичное представление UUID.FixedString(16)variant— Вариант в соответствии с RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.(U)Int*
String
Примеры
Пример использования
Query
Response
Query
Response
UUIDStringToNum
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx и возвращает FixedString(16) с её двоичным представлением; при необходимости формат можно указать с помощью variant (по умолчанию — Big-endian).
Синтаксис
string— Строка или строка фиксированной длины из 36 символовStringилиFixedString(36)variant— Вариант согласно RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.(U)Int*
string. FixedString(16)
Примеры
Пример использования
Query
Response
Query
Response
UUIDToNum
variant (по умолчанию — Big-endian).
Эта функция заменяет вызов двух отдельных функций UUIDStringToNum(toString(uuid)), поэтому для извлечения байтов из UUID не требуется промежуточное преобразование UUID в строку.
Синтаксис
uuid— UUID.StringилиFixedStringvariant— Variant, как указано в RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.(U)Int*
FixedString(16)
Примеры
Пример использования
Query
Response
Query
Response
UUIDv7ToDateTime
uuid— UUID версии 7.Stringtimezone— Необязательный параметр. Имя часового пояса для возвращаемого значения.String
1970-01-01 00:00:00.000. DateTime64(3)
Примеры
Пример использования
Query
Response
Query
Response
dateTime64ToSnowflake
value— дата и время.DateTime64
Int64
Примеры
Пример использования
Query
Response
dateTime64ToSnowflakeID
value— Дата и время.DateTime64epoch— Эпоха для Snowflake ID в миллисекундах с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*
UInt64
Примеры
простой
Query
Response
dateTimeToSnowflake
value— Дата и время.DateTime
Int64
Примеры
Пример использования
Query
Response
dateTimeToSnowflakeID
value— Дата и время.DateTimeepoch— эпоха Snowflake ID в миллисекундах с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*
UInt64
Примеры
простой
Query
Response
dateTimeToUUIDv7
По состоянию на сентябрь 2025 года UUID версии 7 имеют статус черновика, и их структура может измениться в будущем.
value— Дата и время.DateTime
UUID
Примеры
Пример использования
Query
Response
Query
Response
generateSnowflakeID
generateSnowflakeID гарантирует, что значение поля счётчика в пределах одной временной метки монотонно увеличивается при всех вызовах функции в параллельно выполняющихся потоках и запросах.
Подробности реализации см. в разделе “Генерация Snowflake ID”.
Синтаксис
expr— Произвольное выражение, используемое для обхода устранения общих подвыражений, если функция вызывается в запросе несколько раз. Значение выражения не влияет на возвращаемый Snowflake ID. Необязательно. -machine_id— Идентификатор машины; используются младшие 10 бит. Int64. Необязательно.
UInt64
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
generateUUIDv4
expr— Необязательный. Произвольное выражение, используемое для обхода устранения общих подвыражений, если функция вызывается в запросе несколько раз. Значение выражения не влияет на возвращаемый UUID.
UUID
Примеры
Пример использования
Query
Response
Query
Response
generateUUIDv7
По состоянию на сентябрь 2025 года UUID версии 7 имеют статус черновика, и их структура в будущем может измениться.
expr— Необязательный. Произвольное выражение, используемое для отключения устранения общих подвыражений, если функция вызывается в запросе несколько раз. Значение выражения не влияет на возвращаемый UUID.Any
UUID
Примеры
Пример использования
Query
Response
Query
Response
snowflakeIDToDateTime
value— Snowflake ID.UInt64epoch— Необязательно. Эпоха Snowflake ID в миллисекундах, отсчитываемых с 1970-01-01. Значение по умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringс учетом часового пояса.String
value. DateTime
Примеры
Пример использования
Query
Response
snowflakeIDToDateTime64
value— Snowflake ID.UInt64epoch— Необязательно. Эпоха Snowflake ID в миллисекундах с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*time_zone— Необязательно. Часовой пояс. Функция интерпретируетtime_stringв соответствии с часовым поясом.String
value в виде DateTime64 с scale = 3, то есть с точностью до миллисекунд. DateTime64
Примеры
Пример использования
Query
Response
snowflakeToDateTime
value— Snowflake ID.Int64time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringс учетом часового пояса.String
value. DateTime
Примеры
Пример использования
Query
Response
snowflakeToDateTime64
value— Snowflake ID.Int64time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringс учётом часового пояса.String
value. DateTime64(3)
Примеры
Пример использования
Query
Response
toUUIDOrDefault
string— строка из 36 символов или FixedString(36), которую нужно преобразовать в UUID. -default— значение UUID, которое возвращается, если первый аргумент не удаётся преобразовать в тип UUID.
UUID
Примеры
При успешном преобразовании возвращается разобранный UUID
Query
Response
Query
Response
toUUIDOrNull
UUID, но в случае ошибки возвращает NULL.
Аналогична toUUID, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Строковые представления UUID в стандартном формате (8-4-4-4-12 шестнадцатеричных цифр).
- Строковые представления UUID без дефисов (32 шестнадцатеричные цифры).
NULL):
- Недопустимые строковые форматы.
- Типы, отличные от строковых.
- Некорректные UUID.
x— Строковое представление UUID.String
NULL. UUID или NULL
Примеры
Примеры использования
Query
Response