跳到主要内容
最后 更新

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 |
+--------------------------------------+--------------------------------------+