UUID_STRING

UUID_STRING

RFC 4122를 준수하는 범용 고유 식별자(UUID)의 버전 4(임의) 또는 버전 5(이름 기반)를 형식화된 문자열로 생성해요.

출처: Snowflake SQL Reference - UUID_STRING

본문

구문

UUID_STRING()

UUID_STRING( uuid , name )

인자

uuid 유효한 UUID 문자열이에요. 이 값은 반환되는 UUID를 생성하는 데 사용되는 네임스페이스(namespace)예요.

name 반환되는 UUID를 생성하는 데 사용되는 이름이에요.

반환 값

이 함수는 문자열(VARCHAR 데이터 타입)로 형식화된 128비트 값을 반환해요.

사용 시 유의사항

UUID_STRING은 RFC 4122를 준수하는 두 가지 버전의 UUID 생성을 지원해요:

  • 함수에 인자가 제공되지 않으면 버전 4(임의) UUID가 반환돼요. 난수 생성에는 MT19937-64로 알려진 64비트 메르센 트위스터가 사용돼요.
  • 첫 번째 인자로 uuid 문자열(네임스페이스로 알려짐)을, 두 번째 인자로 name 문자열을 제공하면 버전 5(이름 기반) UUID가 생성될 수 있어요.

예시

임의 UUID를 생성해요:

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

이름 기반 UUID를 생성해요:

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

테이블을 만들고 임의 UUID를 삽입해요:

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

더 알아보기 (Learn more)

  • RANDOM — 의사 난수 정수