Функции для работы с UUID
Генерация UUIDv7
Сгенерированный UUID содержит 48-битный таймстамп в миллисекундах Unix-времени, за которым следуют версия «7» (4 бита), счётчик (42 бита) для различения UUID в пределах одной миллисекунды (включая поле варианта «2» — 2 бита) и случайное поле (32 бита).
Для любого заданного таймстампа (unix_ts_ms) счётчик начинается со случайного значения и увеличивается на 1 для каждого нового UUID до тех пор, пока таймстамп не изменится. В случае переполнения счётчика поле таймстампа увеличивается на 1, а счётчик сбрасывается на новое случайное начальное значение.
Функции генерации UUID гарантируют, что поле счётчика в пределах одного таймстампа монотонно возрастает во всех вызовах функции в параллельно выполняющихся потоках и запросах.
Генерация Snowflake ID
Сгенерированный Snowflake ID содержит текущую Unix-метку времени в миллисекундах (41 бит + 1 старший нулевой бит), за которой следуют идентификатор машины (10 бит) и счётчик (12 бит) для различения идентификаторов в пределах одной миллисекунды. Для любой заданной метки времени (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).
generateUUIDv4
Синтаксис
Аргументы
expr— Произвольное выражение, используемое для обхода устранения общих подвыражений при многократном вызове функции в одном запросе. Значение выражения не влияет на возвращаемый UUID. Необязательный параметр.
Возвращаемое значение
Значение типа UUIDv4.
Пример
Сначала создайте таблицу со столбцом типа UUID, затем вставьте сгенерированный UUIDv4 в эту таблицу.
Результат:
Пример, в котором для каждой строки генерируется несколько UUID
generateUUIDv7
Генерирует UUID версии 7 (UUID).
См. раздел "Генерация UUIDv7" для подробностей о структуре UUID, управлении счётчиком и гарантиях при конкурентном доступе.
По состоянию на апрель 2024 года UUID версии 7 имеют статус черновика, и их структура в будущем может измениться.
Синтаксис
Аргументы
expr— Произвольное выражение, позволяющее обойти устранение общих подвыражений, если функция вызывается несколько раз в запросе. Значение выражения не влияет на возвращаемый UUID. Необязательный параметр.
Возвращаемое значение
Значение типа UUIDv7.
Пример
Сначала создайте таблицу со столбцом типа UUID, затем вставьте сгенерированный UUIDv7 в таблицу.
Результат:
Пример с несколькими UUID, генерируемыми для каждой строки
dateTimeToUUIDv7
Преобразует значение DateTime в UUIDv7 на заданный момент времени.
См. раздел «UUIDv7 generation» для подробностей о структуре UUID, управлении счётчиком и гарантиях корректной работы при конкурентном доступе.
По состоянию на апрель 2024 года UUID версии 7 имеют статус черновика, и их структура может измениться в будущем.
Синтаксис
Аргументы
value— Дата и время. DateTime.
Возвращаемое значение
Значение типа UUIDv7.
Пример
Результат:
Пример с несколькими UUID для одной и той же временной метки
Результат
Функция гарантирует, что несколько вызовов с одинаковым значением временной метки генерируют уникальные, монотонно возрастающие UUID.
empty
Проверяет, является ли переданный UUID пустым.
Синтаксис
UUID считается пустым, если он состоит полностью из нулей (нулевой UUID).
Функция также работает для массивов и строк.
Аргументы
x— UUID. UUID.
Возвращаемое значение
- Возвращает
1для пустого UUID или0для непустого UUID. UInt8.
Пример
Чтобы сгенерировать значение UUID, ClickHouse предоставляет функцию generateUUIDv4.
Запрос:
Результат:
notEmpty
Проверяет, что переданный UUID не пустой.
Синтаксис
UUID считается пустым, если он состоит полностью из нулей (нулевой UUID).
Функция также работает для массивов и строк.
Аргументы
x— UUID. UUID.
Возвращаемое значение
- Возвращает
1для непустого UUID или0для пустого UUID. UInt8.
Пример
Для генерации значения UUID в ClickHouse предусмотрена функция generateUUIDv4.
Запрос:
Результат:
toUUID
Преобразует значение типа String в значение типа UUID.
Возвращаемое значение
Значение типа UUID.
Пример использования
Результат:
toUUIDOrDefault
Аргументы
string— строка длиной 36 символов или FixedString(36). String.default— UUID, используемый по умолчанию, если первый аргумент не может быть преобразован в тип UUID. UUID.
Возвращаемое значение
UUID
Возвращаемое значение
Значение типа UUID.
Примеры использования
В этом первом примере возвращается первый аргумент, преобразованный к типу UUID, так как его можно привести к этому типу:
Результат:
Этот второй пример возвращает второй аргумент (указанный UUID по умолчанию), поскольку первый аргумент нельзя привести к типу UUID:
Результат:
toUUIDOrNull
Принимает аргумент типа String и пытается преобразовать его в UUID. Если преобразование не удалось, возвращает NULL.
Возвращаемое значение
Значение типа Nullable(UUID).
Пример использования
Результат:
toUUIDOrZero
Принимает аргумент типа String и пытается преобразовать его в UUID. Если преобразование не удаётся, возвращает нулевой UUID.
Возвращаемое значение
Значение типа UUID.
Пример использования
Результат:
UUIDStringToNum
Принимает строку типа string, содержащую 36 символов в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, и возвращает FixedString(16) в виде её двоичного представления, формат которого может быть дополнительно задан параметром variant (по умолчанию Big-endian).
Синтаксис
Аргументы
string— String из 36 символов или FixedStringvariant— целое число, задающее вариант в соответствии с RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.
Возвращаемое значение
FixedString(16)
Примеры использования
Результат:
Результат:
UUIDNumToString
Принимает значение типа binary, содержащее двоичное представление UUID (его формат можно дополнительно указать параметром variant, по умолчанию используется Big-endian), и возвращает строку из 36 символов в текстовом формате.
Синтаксис
Аргументы
binary— FixedString(16) как двоичное представление UUID.variant— целое число, представляющее вариант, как указано в RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.
Возвращаемое значение
Строка.
Пример использования
Результат:
Результат:
UUIDToNum
Принимает UUID и возвращает его двоичное представление в виде FixedString(16); формат двоичного представления может быть дополнительно указан параметром variant (по умолчанию Big-endian). Эта функция заменяет вызовы двух отдельных функций вида UUIDStringToNum(toString(uuid)), поэтому для извлечения байтов из UUID не требуется промежуточное преобразование UUID в строку.
Синтаксис
Аргументы
uuid— UUID.variant— целое число, представляющее вариант, как указано в RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.
Возвращаемое значение
Двоичное представление UUID.
Примеры использования
Результат:
Результат:
UUIDv7ToDateTime
Возвращает компонент отметки времени из UUID версии 7.
Синтаксис
Аргументы
uuid— UUID версии 7.timezone— название часового пояса для возвращаемого значения (необязательный параметр). String.
Возвращаемое значение
- Временная метка с точностью до миллисекунд. Если UUID не является корректным UUID версии 7, возвращается 1970-01-01 00:00:00.000. DateTime64(3).
Примеры использования
Результат:
Результат:
serverUUID
Возвращает случайный UUID, сгенерированный при первом запуске сервера ClickHouse. UUID хранится в файле uuid в каталоге сервера ClickHouse (например, /var/lib/clickhouse/) и сохраняется между перезапусками сервера.
Синтаксис
Возвращаемое значение
- UUID сервера. UUID.
generateSnowflakeID
Генерирует Snowflake ID. Эта функция гарантирует, что поле счётчика внутри метки времени монотонно увеличивается при всех вызовах функции в одновременно выполняющихся потоках и запросах.
См. раздел "Генерация Snowflake ID" для подробных сведений о реализации.
Синтаксис
Аргументы
expr— Произвольное выражение, используемое для обхода механизма устранения общих подвыражений, если функция вызывается несколько раз в одном запросе. Значение выражения не влияет на возвращаемый Snowflake ID. Необязательный параметр.machine_id— Идентификатор машины, используются младшие 10 бит. Int64. Необязательный параметр.
Возвращаемое значение
Значение типа UInt64.
Пример
Сначала создайте таблицу со столбцом типа UInt64, затем вставьте в неё сгенерированный Snowflake ID.
Результат:
Пример с несколькими Snowflake ID, создаваемыми для каждой строки
Пример с выражением и идентификатором хоста
snowflakeToDateTime
Эта функция устарела и может использоваться только в том случае, если включена настройка allow_deprecated_snowflake_conversion_functions. Функция будет удалена в будущем.
Вместо неё используйте функцию snowflakeIDToDateTime.
Извлекает компонент временной метки из Snowflake ID в формате DateTime.
Синтаксис
Аргументы
value— идентификатор Snowflake. Int64.time_zone— часовой пояс. Функция разбираетtime_stringв соответствии с часовым поясом. Необязательный параметр. String.
Возвращаемое значение
- Компонент метки времени значения
valueв виде значения DateTime.
Пример
Запрос:
Результат:
snowflakeToDateTime64
Эта функция устарела и может использоваться только в том случае, если включена настройка allow_deprecated_snowflake_conversion_functions. Функция будет удалена в будущем.
Используйте вместо неё функцию snowflakeIDToDateTime64.
Извлекает компонент метки времени из Snowflake ID в формате DateTime64.
Синтаксис
Аргументы
value— Snowflake ID. Int64.time_zone— Timezone. Функция разбираетtime_stringв соответствии с часовым поясом. Необязательный параметр. String.
Возвращаемое значение
- Компонента временной метки
valueв формате DateTime64 с масштабом = 3, то есть с точностью до миллисекунды.
Пример
Запрос:
Результат:
dateTimeToSnowflake
Эта функция устарела и может использоваться только в том случае, если включён параметр allow_deprecated_snowflake_conversion_functions. Функция будет удалена в какой‑то момент в будущем.
Пожалуйста, используйте вместо неё функцию dateTimeToSnowflakeID.
Преобразует значение DateTime в первый Snowflake ID в заданный момент времени.
Синтаксис
Аргументы
value— дата и время. DateTime.
Возвращаемое значение
- Входное значение, преобразованное в тип данных Int64 как первый идентификатор Snowflake в этот момент времени.
Пример
Запрос:
Результат:
dateTime64ToSnowflake
Эта функция устарела и может использоваться только если включена настройка allow_deprecated_snowflake_conversion_functions. Функция будет удалена в будущем.
Используйте вместо неё функцию dateTime64ToSnowflakeID.
Преобразует DateTime64 в первый Snowflake ID в указанный момент времени.
Синтаксис
Аргументы
value— дата и время. DateTime64.
Возвращаемое значение
- Входное значение, преобразованное к типу данных Int64 как первый идентификатор Snowflake для этого момента времени.
Пример
Запрос:
Результат:
snowflakeIDToDateTime
Возвращает компонент отметки времени Snowflake ID в виде значения типа DateTime.
Синтаксис
Аргументы
value— Snowflake ID. UInt64.epoch— эпоха Snowflake ID в миллисекундах, отсчитанных с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657. Необязательный параметр. UInt*.time_zone— Timezone. Функция интерпретируетtime_stringв соответствии с часовым поясом. Необязательный параметр. String.
Возвращаемое значение
- Компонент временной метки значения
valueв виде значения DateTime.
Пример
Запрос:
Результат:
snowflakeIDToDateTime64
Возвращает компонент временной метки Snowflake ID в виде значения типа DateTime64.
Синтаксис
Аргументы
value— идентификатор Snowflake. UInt64.epoch— эпоха идентификаторов Snowflake в миллисекундах, прошедших с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657. Необязательный параметр. UInt*.time_zone— Timezone. Функция разбираетtime_stringв соответствии с указанным часовым поясом. Необязательный параметр. String.
Возвращаемое значение
- Компонент метки времени из
valueв виде DateTime64 с scale = 3, то есть с точностью до миллисекунд.
Пример
Запрос:
Результат:
dateTimeToSnowflakeID
Преобразует значение DateTime в первый Snowflake ID для заданного момента времени.
Синтаксис
Аргументы
value— дата и время. DateTime.epoch— эпоха для Snowflake ID в миллисекундах, прошедших с 1970-01-01. По умолчанию 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) используйте 1288834974657. Необязательный параметр. UInt*.
Возвращаемое значение
- Входное значение, преобразованное в UInt64 как первый Snowflake ID для этого момента времени.
Пример
Запрос:
Результат:
dateTime64ToSnowflakeID
Преобразует DateTime64 в первый Snowflake ID в заданный момент времени.
Синтаксис
Аргументы
value— дата и время. DateTime64.epoch— эпоха Snowflake ID в миллисекундах, отсчитываемая от 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657. Необязательный параметр. UInt*.
Возвращаемое значение
- Входное значение, преобразованное в UInt64 как значение первого Snowflake ID для этого момента времени.
Пример
Запрос:
Результат:
См. также
UUIDNumToString
Впервые представлена в версии v1.1
Принимает двоичное представление UUID, формат которого может быть дополнительно указан через параметр variant (по умолчанию Big-endian), и возвращает строку из 36 символов в текстовом представлении.
Синтаксис
Аргументы
binary— Двоичное представление UUID.FixedString(16)variant— Вариант, как указано в RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.(U)Int*
Возвращаемое значение
Возвращает UUID в виде строки. String
Примеры
Пример использования
Вариант от Microsoft
UUIDStringToNum
Появилась в: v1.1
Принимает строку длиной 36 символов в формате 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)
Примеры
Пример использования
Вариант Microsoft
UUIDToNum
Введена в версии v24.5
Принимает UUID и возвращает его бинарное представление в виде FixedString(16), при этом формат может быть дополнительно задан параметром variant (по умолчанию Big-endian).
Эта функция заменяет использование двух отдельных функций UUIDStringToNum(toString(uuid)), поэтому для извлечения байтов из UUID не требуется промежуточное преобразование UUID в строку.
Синтаксис
Аргументы
uuid— UUID.StringилиFixedStringvariant— вариант в соответствии с RFC4122. 1 =Big-endian(по умолчанию), 2 =Microsoft.(U)Int*
Возвращаемое значение
Возвращает двоичное представление UUID. FixedString(16)
Примеры
Пример использования
Вариант от Microsoft
UUIDv7ToDateTime
Появилась в версии: v24.5
Возвращает временную составляющую (timestamp) UUID версии 7.
Синтаксис
Аргументы
uuid— UUID версии 7.Stringtimezone— Необязательный параметр. Имя часового пояса для возвращаемого значения.String
Возвращаемое значение
Возвращает метку времени с точностью до миллисекунд. Если UUID не является корректным UUID версии 7, возвращает 1970-01-01 00:00:00.000. DateTime64(3)
Примеры
Пример использования
С часовым поясом
dateTime64ToSnowflake
Добавлена в: v21.10
Эта функция устарела и может быть использована только в том случае, если включена настройка allow_deprecated_snowflake_conversion_functions.
Функция будет удалена в какой‑то момент в будущем.
Используйте вместо неё функцию dateTime64ToSnowflakeID.
Преобразует DateTime64 в первый Snowflake ID в заданный момент времени.
Синтаксис
Аргументы
value— дата и время.DateTime64
Возвращаемое значение
Возвращает входное значение, преобразованное в первый идентификатор Snowflake для этого момента времени. Int64
Примеры
Пример использования
dateTime64ToSnowflakeID
Добавлена в версии: v24.6
Преобразует DateTime64 в первый Snowflake ID для заданного момента времени.
См. раздел "Генерация идентификаторов Snowflake" для подробностей реализации.
Синтаксис
Аргументы
value— Дата и время.DateTimeилиDateTime64epoch— Эпоха Snowflake ID в миллисекундах, прошедших с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*
Возвращаемое значение
Возвращает входное значение в виде первого Snowflake ID для этого момента времени. UInt64
Примеры
Пример использования
dateTimeToSnowflake
Добавлена в: v21.10
Эта функция объявлена устаревшей и может использоваться только в том случае, если включён параметр allow_deprecated_snowflake_conversion_functions.
Функция будет удалена в какой-то момент в будущем.
Используйте вместо неё функцию dateTimeToSnowflakeID.
Преобразует значение DateTime в первый Snowflake ID в заданный момент времени.
Синтаксис
Аргументы
value— дата и время.DateTime
Возвращаемое значение
Возвращает первый идентификатор Snowflake для этого момента времени. Int64
Примеры
Пример использования
dateTimeToSnowflakeID
Добавлена в версии: v24.6
Преобразует значение DateTime в первый Snowflake ID для указанного момента времени.
Синтаксис
Аргументы
value— дата и время.DateTimeилиDateTime64epoch— необязательный параметр. Эпоха для Snowflake ID в миллисекундах, отсчитываемых с 1970-01-01. Значение по умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*
Возвращаемое значение
Возвращает первое возможное значение Snowflake ID для указанного момента времени. UInt64
Примеры
Пример использования
dateTimeToUUIDv7
Добавлена в версии: v25.9
Преобразует значение DateTime в UUIDv7 в указанное время.
См. раздел «UUIDv7 generation» для подробностей о структуре UUID, управлении счётчиком и гарантиях при параллельном использовании.
По состоянию на сентябрь 2025 года UUID версии 7 находятся в статусе черновика, и их структура может измениться в будущем.
Синтаксис
Аргументы
value— Дата и время.DateTime
Возвращаемое значение
Возвращает UUIDv7. UUID
Примеры
Пример использования
несколько UUID для одной и той же метки времени
generateSnowflakeID
Появилась в версии v24.6
Генерирует Snowflake ID.
Функция generateSnowflakeID гарантирует, что поле счётчика в составе метки времени монотонно увеличивается во всех вызовах функции в параллельно выполняющихся потоках и запросах.
См. раздел «Генерация Snowflake ID» для получения подробностей реализации.
Синтаксис
Аргументы
expr— Произвольное выражение, используемое для обхода устранения общих подвыражений, если функция вызывается несколько раз в запросе. Значение выражения не влияет на возвращаемый Snowflake ID. Необязательный параметр.machine_id— Идентификатор машины, используются младшие 10 бит. Int64. Необязательный параметр.
Возвращаемое значение
Возвращает Snowflake ID. UInt64
Примеры
Пример использования
Несколько идентификаторов Snowflake, генерируемых для одной строки
С выражением и идентификатором хоста
generateUUIDv4
Впервые появилась в версии v1.1
Синтаксис
Аргументы
expr— Необязательный аргумент. Произвольное выражение, используемое для обхода устранения общих подвыражений, если функция вызывается несколько раз в запросе. Значение выражения не влияет на возвращаемый UUID.
Возвращаемое значение
Возвращает UUIDv4. UUID
Примеры
Пример использования
Устранение общих подвыражений
generateUUIDv7
Добавлено в: v24.5
Генерирует идентификатор версии 7 UUID.
См. раздел «Генерация UUIDv7» для подробностей о структуре UUID, управлении счётчиком и гарантиях при конкурентном доступе.
По состоянию на сентябрь 2025 года UUID версии 7 имеют статус черновика, и их структура может измениться в будущем.
Синтаксис
Аргументы
expr— необязательное произвольное выражение, используемое для обхода устранения общих подвыражений, если функция вызывается несколько раз в одном запросе. Значение выражения не влияет на возвращаемый UUID.Any
Возвращаемое значение
Возвращает UUIDv7. UUID
Примеры
Пример использования
Устранение общих подвыражений
readWKTLineString
Добавлена в: v
Разбирает представление геометрии LineString в формате Well-Known Text (WKT) и возвращает его во внутреннем формате ClickHouse.
Синтаксис
Аргументы
wkt_string— входная строка WKT, представляющая геометрию типа LineString.String
Возвращаемое значение
Функция возвращает внутреннее представление геометрии типа LineString в ClickHouse.
Примеры
Первый вызов
второй вызов
snowflakeIDToDateTime
Появилась в версии: v24.6
Возвращает временную компоненту Snowflake ID как значение типа DateTime.
Синтаксис
Аргументы
value— идентификатор Snowflake.UInt64epoch— необязательный параметр. Эпоха идентификатора Snowflake в миллисекундах, прошедших с 1970-01-01. По умолчанию — 0 (1970-01-01). Для эпохи Twitter/X (2015-01-01) укажите 1288834974657.UInt*time_zone— необязательный параметр. Часовой пояс. Функция интерпретируетtime_stringв соответствии с часовым поясом.String
Возвращаемое значение
Возвращает компонент метки времени из value. DateTime
Примеры
Пример использования
snowflakeIDToDateTime64
Добавлена в версии: v24.6
Возвращает компонент метки времени Snowflake ID в виде значения типа DateTime64.
Синтаксис
Аргументы
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 с масштабом = 3, то есть с точностью до миллисекунд. DateTime64
Примеры
Пример использования
snowflakeToDateTime
Введена в версии v21.10
Эта функция является устаревшей и может использоваться только в том случае, если включена настройка allow_deprecated_snowflake_conversion_functions.
Функция будет удалена в одной из будущих версий.
Пожалуйста, используйте вместо неё функцию snowflakeIDToDateTime.
Извлекает компонент метки времени Snowflake ID в формате DateTime.
Синтаксис
Аргументы
value— идентификатор Snowflake.Int64time_zone— необязательный параметр. Timezone. Функция интерпретируетtime_stringв соответствии с указанным часовым поясом.String
Возвращаемое значение
Возвращает компонент метки времени из значения value. DateTime
Примеры
Пример использования
snowflakeToDateTime64
Добавлена в версии: v21.10
Эта функция устарела и может использоваться только в том случае, если настройка allow_deprecated_snowflake_conversion_functions включена.
Функция будет удалена в одной из будущих версий.
Используйте вместо неё функцию snowflakeIDToDateTime64.
Извлекает компонент временной метки Snowflake ID в формате DateTime64.
Синтаксис
Аргументы
value— Snowflake ID.Int64time_zone— необязательный параметр. Timezone. Функция интерпретируетtime_stringв указанном часовом поясе.String
Возвращаемое значение
Возвращает компонент отметки времени из value. DateTime64(3)
Примеры
Пример использования
toUUIDOrDefault
Введена в версии: v21.1
Преобразует значение типа String в тип UUID. Если преобразование не удалось, возвращает UUID по умолчанию вместо генерации ошибки.
Функция пытается разобрать строку из 36 символов в стандартном формате UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Если строку нельзя преобразовать в корректный UUID, функция возвращает указанный UUID по умолчанию.
Синтаксис
Аргументы
string— строка из 36 символов или FixedString(36), преобразуемая в UUID.default— значение UUID, которое будет возвращено, если первый аргумент не удаётся преобразовать к типу UUID.
Возвращаемое значение
Возвращает преобразованный UUID при успешном преобразовании или UUID по умолчанию, если преобразование завершается ошибкой. UUID
Примеры
Успешное преобразование возвращает распарсенный UUID
В случае неудачного преобразования возвращается UUID по умолчанию
toUUIDOrNull
Введена в версии v20.12
Преобразует входное значение в значение типа UUID, но в случае ошибки возвращает NULL.
Аналог функции toUUID, но возвращает NULL вместо выбрасывания исключения при ошибках преобразования.
Поддерживаемые аргументы:
- Строковые представления UUID в стандартном формате (8-4-4-4-12 шестнадцатеричных цифр).
- Строковые представления UUID без дефисов (32 шестнадцатеричные цифры).
Неподдерживаемые аргументы (возвращают NULL):
- Неверные строковые форматы.
- Типы, отличные от строк.
- Некорректные UUID.
Синтаксис
Аргументы
x— строковое представление UUID.String
Возвращаемое значение
Возвращает значение UUID при успешном преобразовании, в противном случае — NULL. UUID или NULL
Примеры
Примеры использования