Последнее обновление
TO_UUID_OR_ZERO
Описание
Преобразует строку в UUID; возвращает UUID из одних нулей для некорректного текста и NULL для входного значения NULL.
Псевдоним
toUUIDOrZero.
Примечания по использованию
Обработка ошибок во входной строке не зависит от enable_strict_cast.
Синтаксис
TO_UUID_OR_ZERO(<string>)
Параметры
| Параметр | Описание |
|---|---|
<string> | Значение типа CHAR, VARCHAR или STRING. Принимается каноническая запись длиной 36 символов с дефисами или запись из 32 шестнадцатеричных цифр без учёта регистра. Фигурные скобки, пробелы по краям и другое расположение дефисов недопустимы. |
Возвращаемое значение
Возвращает значение типа UUID. Возвращает NULL только для входного значения NULL. UUID из одних нулей является допустимым значением и отличается от NULL.
Пример
SELECT TO_UUID_OR_ZERO('550E8400E29B41D4A716446655440000') AS parsed,
TO_UUID_OR_ZERO('bad') AS invalid,
TO_UUID_OR_ZERO(NULL) AS null_input;
+--------------------------------------+--------------------------------------+------------+
| parsed | invalid | null_input |
+--------------------------------------+--------------------------------------+------------+
| 550e8400-e29b-41d4-a716-446655440000 | 00000000-0000-0000-0000-000000000000 | NULL |
+--------------------------------------+--------------------------------------+------------+
SELECT TO_UUID_OR_ZERO('{550e8400-e29b-41d4-a716-446655440000}') AS braces,
TO_UUID_OR_ZERO(' 550e8400-e29b-41d4-a716-446655440000') AS leading_space;
+--------------------------------------+--------------------------------------+
| braces | leading_space |
+--------------------------------------+--------------------------------------+
| 00000000-0000-0000-0000-000000000000 | 00000000-0000-0000-0000-000000000000 |
+--------------------------------------+--------------------------------------+