カテゴリ:

文字列とバイナリ関数 (一般)、 データ生成関数

UUID_STRING

バージョン4(ランダム)またはバージョン5(名前付き) RFC 4122準拠の汎用一意識別子(UUID)をフォーマットされた文字列として生成します。

構文

UUID_STRING()

UUID_STRING( '<uuid>' , '<name>' )
Copy

引数

'uuid'

有効な UUID 文字列。この値は、返される UUID を生成するために使用される名前空間です。

'name'

返される UUID を生成するために使用される名前。

戻り値

この関数は、文字列(VARCHAR データ型)としてフォーマットされた128ビットの値を返します。

使用上の注意

UUID_STRING は、RFC 4122に準拠する2つのバージョンの UUIDsの生成をサポートしています:

  • 関数に引数が指定されていない場合、バージョン4(ランダム) UUID が返されます。乱数生成には、64ビット Mersenneツイスター として知られる MT19937-64が使用されます。

  • バージョン5(名前付き) UUID は、最初の引数として uuid 文字列(名前空間として知られている)、2番目の引数として name 文字列を提供することで作成できます。

ランダムな UUID を生成します。

SELECT UUID_STRING();
Copy
+--------------------------------------+
| UUID_STRING()                        |
|--------------------------------------|
| d47f4e30-306f-4940-8921-c154094df1a1 |
+--------------------------------------+

名前付き UUID を生成します。

SELECT UUID_STRING('fe971b24-9572-4005-b22f-351e9c09274d','foo');
Copy
+-----------------------------------------------------------+
| UUID_STRING('FE971B24-9572-4005-B22F-351E9C09274D','FOO') |
|-----------------------------------------------------------|
| dc0b6f65-fca6-5b4b-9d37-ccc3fde1f3e2                      |
+-----------------------------------------------------------+

テーブルを作成し、ランダムな UUIDs を挿入します。

CREATE OR REPLACE TABLE uuid_insert_test(random_uuid VARCHAR(36), test VARCHAR(10));

INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test1';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test2';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test3';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test4';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test5';

SELECT * FROM uuid_insert_test;
Copy
+--------------------------------------+-------+
| RANDOM_UUID                          | TEST  |
|--------------------------------------+-------|
| 7745a0cf-d136-406b-9289-38072d242871 | test1 |
| 8c31e031-a6bf-479d-9abb-b7909f298ba1 | test2 |
| e65d5641-01c0-4126-b80d-c5ae6d4848be | test3 |
| bd02bf4e-fa5d-498d-8a9a-d38200f1ca30 | test4 |
| 4df2a34e-ad65-46b4-a51a-3eb9394aeb83 | test5 |
+--------------------------------------+-------+