メインコンテンツまでスキップ
に最終更新

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