UUID データ型¶
UUID データ型は、ユニバーサルに一意の識別子( UUIDs )を格納します。UUIDは、情報を一意に識別する128ビットのバイナリ値です。各UUID値はグローバルに一意であるように設計されています。つまり、2つの異なるシステムがまったく同じUUIDを独立して生成する可能性は非常に低くなります。ただし、一意性はどのようにUUID値が生成されたかに依存し、Snowflake UUIDデータ型自体は一意性を保証するものではありません。たとえば、ユーザーは同じUUID値をエラーなしで複数回挿入できます。
UUID値はUUID形式です。これは、パターン8-4-4-4-12のハイフンで区切られた16進数の36文字の文字列です。たとえば、 f353ca91-4fc5-49f2-9b9e-304f83d11914 はUUID形式の文字列です。
UUIDデータ型の詳細については、 ユニバーサル一意識別子 に関するウィキペディアの記事をご参照ください。
には次の考慮事項は、UUIDデータ型に適用されます。
Snowflakeドライバー は、UUID値をテキスト文字列として扱います。
UUIDのANSIリテラル形式は、入力としてサポートされています。
任意のバージョンのUUID値をテーブルに挿入できます。
UUID値は大文字と小文字を区別しません。
UUIDデータ型の指定¶
UUID 型を指定するには、次の構文を使用します。
<column_name> UUID
条件:
column_nameは、テーブル内にある列の名前です。
UUID データ型の制限¶
UUID データ型には以下の制限が適用されます。
UUID データ型の例¶
次の例では、UUID値をテーブルに挿入します。
UUID値のテーブルへの挿入¶
UUID型の列を持つテーブルを作成し、UUID値を挿入します。
CREATE TABLE sample_uuid_table(uuid_col UUID); INSERT INTO sample_uuid_table VALUES ('c73d9175-0a1d-48c6-8d30-df165461328b');
テーブルに行を挿入するときにUUID値を自動生成する¶
次の例は、テーブルに行を挿入するときにUUID値を自動的に生成する方法を示しています。
UUID_STRING 関数を使用して、テーブルに挿入される各行に対してUUID値を生成するテーブルを作成します。
CREATE OR REPLACE TABLE sample_generate_uuid ( id UUID DEFAULT UUID_STRING() NOT NULL, sample_column VARCHAR);
テーブルに値を挿入し、
id列を省略することにより、UUID値が自動的に生成され、挿入されるようにします。INSERT INTO sample_generate_uuid (sample_column) VALUES ('value_a'), ('value_b');
テーブルをクエリして、生成されたUUID値を表示します。
SELECT * FROM sample_generate_uuid;
+--------------------------------------+---------------+ | ID | SAMPLE_COLUMN | |--------------------------------------+---------------| | f353ca91-4fc5-49f2-9b9e-304f83d11914 | value_a | | da563283-e201-4744-b158-221dd204a61f | value_b | +--------------------------------------+---------------+