に最終更新
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 |
+--------------------------------------+--------------------------------------+