UUID를 처리하는 함수
UUIDv7 생성
unix_ts_ms)에서 카운터는 임의의 값으로 시작하며, 타임스탬프가 바뀔 때까지 새 UUID가 생성될 때마다 1씩 증가합니다. 카운터에 오버플로우가 발생하면 타임스탬프 필드는 1 증가하고, 카운터는 새로운 임의의 시작 값으로 재설정됩니다.
UUID 생성 함수는 동시에 실행되는 스레드 및 쿼리의 모든 함수 호출에 걸쳐, 동일한 타임스탬프 내의 카운터 필드가 단조 증가하도록 보장합니다.
Snowflake ID 생성
unix_ts_ms)에 대해 카운터는 0에서 시작하며, 타임스탬프가 바뀔 때까지 새 Snowflake ID가 생성될 때마다 1씩 증가합니다. 카운터에 오버플로우가 발생하면 타임스탬프 필드가 1 증가하고 카운터는 0으로 재설정됩니다.
생성된 Snowflake ID는 UNIX epoch 1970-01-01을 기준으로 합니다. Snowflake ID의 epoch에 대한 표준이나 권고는 없지만, 다른 시스템의 구현은 서로 다른 epoch를 사용할 수 있습니다. 예를 들어 Twitter/X는 2010-11-04, Mastodon은 2015-01-01을 사용합니다.
UUIDNumToString
variant로 포맷을 지정할 수 있습니다(기본값은 Big-endian). 텍스트 포맷의 36자 문자열을 반환합니다.
구문
binary— UUID의 이진 표현입니다.FixedString(16)variant— RFC4122에서 지정한 variant입니다. 1 =Big-endian(기본값), 2 =Microsoft입니다.(U)Int*
String
예시
사용 예시
Query
Response
Query
Response
UUIDStringToNum
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 포맷의 36자 문자열을 받아 해당 문자열의 바이너리 표현인 FixedString(16)을 반환합니다. 포맷은 variant로 선택적으로 지정할 수 있으며 기본값은 Big-endian입니다.
구문
string— 36자 길이의 문자열 또는 고정 길이 문자열String또는FixedString(36)variant— RFC4122에 지정된 Variant입니다. 1 =Big-endian(기본값), 2 =Microsoft.(U)Int*
string의 이진 표현을 반환합니다. FixedString(16)
예시
사용 예시
Query
Response
Query
Response
UUIDToNum
variant로 포맷을 선택적으로 지정할 수 있습니다(기본값은 Big-endian).
이 함수는 별도의 두 함수 호출인 UUIDStringToNum(toString(uuid))를 대체하므로, UUID에서 바이트를 추출하기 위해 UUID를 문자열로 중간 변환할 필요가 없습니다.
구문
uuid— UUID입니다.String또는FixedStringvariant— RFC4122에 지정된 Variant입니다. 1 =Big-endian(기본값), 2 =Microsoft.(U)Int*
FixedString(16)
예시
사용 예시
Query
Response
Query
Response
UUIDv7ToDateTime
1970-01-01 00:00:00.000을 반환합니다. DateTime64(3)
예시
사용 예시
Query
Response
Query
Response
dateTime64ToSnowflake
value— 시간이 포함된 날짜 및 시간 값입니다.DateTime64
Int64
예시
사용 예시
Query
Response
dateTime64ToSnowflakeID
value— 날짜 및 시간.DateTime64epoch— 1970-01-01부터 경과한 시간을 밀리초 단위로 나타낸 Snowflake ID의 epoch입니다. 기본값은 0(1970-01-01)입니다. Twitter/X epoch(2015-01-01)를 사용하려면 1288834974657을 지정하십시오.UInt*
UInt64로 변환한 값입니다.
예시
simple
Query
Response
dateTimeToSnowflake
value— 날짜 및 시간.DateTime
Int64
예시
사용 예시
Query
Response
dateTimeToSnowflakeID
value— 시간이 포함된 날짜입니다.DateTimeepoch— 1970-01-01부터 경과한 밀리초 단위의 Snowflake ID epoch입니다. 기본값은 0(1970-01-01)입니다. Twitter/X epoch(2015-01-01)에는 1288834974657을 지정하십시오.UInt*
UInt64로 변환됩니다.
예시
간단한 예시
Query
Response
dateTimeToUUIDv7
2025년 9월 기준으로 버전 7 UUID는 초안 상태이며, 향후 내부 레이아웃이 변경될 수 있습니다.
value— 시간이 포함된 날짜/시간 값.DateTime
UUID
예시
사용 예시
Query
Response
Query
Response
generateSnowflakeID
generateSnowflakeID는 동시에 실행되는 모든 스레드와 쿼리 전반에서 함수가 호출될 때마다 타임스탬프 내 카운터 필드가 단조 증가하도록 보장합니다.
구현 세부 사항은 “Snowflake ID generation” 섹션을 참조하십시오.
구문
expr— 쿼리에서 이 함수가 여러 번 호출될 때 공통 하위 표현식 제거를 우회하는 데 사용되는 임의의 표현식입니다. 표현식 값은 반환되는 Snowflake ID에 영향을 주지 않습니다. 선택 사항입니다. -machine_id— 머신 ID입니다. 하위 10비트가 사용됩니다. Int64. 선택 사항입니다.
UInt64
예시
사용 예시
Query
Response
Query
Response
Query
Response
generateUUIDv4
expr— 선택 사항입니다. 함수가 하나의 쿼리에서 여러 번 호출될 때 공통 하위 표현식 제거을 우회하기 위해 사용하는 임의의 표현식입니다. 이 표현식의 값은 반환되는 UUID에 영향을 주지 않습니다.
UUID
예시
사용 예시
Query
Response
Query
Response
generateUUIDv7
2025년 9월 기준으로 버전 7 UUID는 초안 상태이며, 향후 레이아웃이 변경될 수 있습니다.
expr— 선택 사항입니다. 함수가 한 쿼리에서 여러 번 호출될 때 공통 하위 표현식 제거를 피하기 위해 사용하는 임의의 표현식입니다. 이 표현식의 값은 반환되는 UUID에 영향을 주지 않습니다.Any
UUID
예시
사용 예시
Query
Response
Query
Response
snowflakeIDToDateTime
value— Snowflake ID입니다.UInt64epoch— 선택 사항입니다. 1970-01-01 이후 경과한 밀리초 단위의 Snowflake ID epoch입니다. 기본값은 0(1970-01-01)입니다. Twitter/X epoch(2015-01-01)의 경우 1288834974657을 지정하십시오.UInt*time_zone— 선택 사항입니다. 시간대입니다. 함수는time_string을 시간대에 따라 해석합니다.String
value의 timestamp 구성 요소를 반환합니다. DateTime
예시
사용 예시
Query
Response
snowflakeIDToDateTime64
value— Snowflake ID.UInt64epoch— 선택 사항입니다. 1970-01-01부터 경과한 밀리초 단위의 Snowflake ID epoch입니다. 기본값은 0(1970-01-01)입니다. Twitter/X epoch(2015-01-01)를 사용하려면 1288834974657을 지정하십시오.UInt*time_zone— 선택 사항입니다. 시간대입니다. 이 함수는time_string을 해당 시간대에 따라 파싱합니다.String
value의 타임스탬프 구성 요소를 scale = 3, 즉 밀리초 정밀도의 DateTime64로 반환합니다. DateTime64
예시
사용 예시
Query
Response
snowflakeToDateTime
value의 타임스탬프 구성 요소를 반환합니다. DateTime
예시
사용 예시
Query
Response
snowflakeToDateTime64
value의 타임스탬프 구성 요소를 반환합니다. DateTime64(3)
예시
사용 예시
Query
Response
toUUIDOrDefault
string— UUID로 변환할 36자 String 또는 FixedString(36)입니다. -default— 첫 번째 인수를 UUID 타입으로 변환할 수 없을 때 반환할 UUID 값입니다.
UUID
예시
변환에 성공하면 파싱된 UUID를 반환합니다
Query
Response
Query
Response
toUUIDOrNull
UUID 타입으로 변환하지만, 오류가 발생하면 NULL을 반환합니다.
toUUID와 유사하지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- 표준 포맷(8-4-4-4-12자리 16진수)의 UUID 문자열 표현.
- 하이픈이 없는 UUID 문자열 표현(32자리 16진수).
NULL 반환):
- 잘못된 문자열 포맷.
- 문자열이 아닌 타입.
- 잘못된 형식의 UUID.
x— UUID의 문자열 표현입니다.String
NULL을 반환합니다. UUID 또는 NULL
예시
사용 예시
Query
Response