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
    
    Copy

    条件:

    • column_name は、テーブル内にある列の名前です。

UUID データ型の制限

UUID データ型には以下の制限が適用されます。

  • UUID値は、 半構造化データ型 または 構造化データ型 の値として保存できません。

    UUID値をこれらの値の型のいずれかの文字列として保存するには、UUID値をVARCHAR値に キャスト できます。

  • UUIDデータ型はストアドプロシージャ、またはPythonやJavaなどのSQL以外の言語で書かれているユーザー定義関数(UDFs)でサポートされていません。

  • UUID データ型はSnowflakeではサポートされていません。

  • 次の機能は 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');
    
    Copy

テーブルに行を挿入するときにUUID値を自動生成する

次の例は、テーブルに行を挿入するときにUUID値を自動的に生成する方法を示しています。

  1. UUID_STRING 関数を使用して、テーブルに挿入される各行に対してUUID値を生成するテーブルを作成します。

    CREATE OR REPLACE TABLE sample_generate_uuid (
      id UUID DEFAULT UUID_STRING() NOT NULL,
      sample_column VARCHAR);
    
    Copy
  2. テーブルに値を挿入し、 id 列を省略することにより、UUID値が自動的に生成され、挿入されるようにします。

    INSERT INTO sample_generate_uuid (sample_column) VALUES
      ('value_a'),
      ('value_b');
    
    Copy
  3. テーブルをクエリして、生成されたUUID値を表示します。

    SELECT * FROM sample_generate_uuid;
    
    Copy
    +--------------------------------------+---------------+
    | ID                                   | SAMPLE_COLUMN |
    |--------------------------------------+---------------|
    | f353ca91-4fc5-49f2-9b9e-304f83d11914 | value_a       |
    | da563283-e201-4744-b158-221dd204a61f | value_b       |
    +--------------------------------------+---------------+