Funções para trabalhar com UUIDs
Geração de UUIDv7
unix_ts_ms), o contador começa em um valor aleatório e é incrementado em 1 para cada novo UUID até que o timestamp mude. Em caso de overflow do contador, o campo de timestamp é incrementado em 1 e o contador é redefinido para um novo valor inicial aleatório.
As funções de geração de UUID garantem que o campo do contador dentro de um timestamp seja incrementado monotonicamente em todas as invocações da função, em threads e queries executadas concorrentemente.
Geração de Snowflake ID
unix_ts_ms), o contador começa em 0 e é incrementado em 1 para cada novo Snowflake ID até que o timestamp mude. Se o contador sofrer overflow, o campo de timestamp será incrementado em 1 e o contador será redefinido para 0.
Os Snowflake IDs gerados são baseados na epoch Unix 1970-01-01. Embora não exista um padrão ou recomendação para a epoch de Snowflake IDs, implementações em outros sistemas podem usar uma epoch diferente, por exemplo, Twitter/X (2010-11-04) ou Mastodon (2015-01-01).
UUIDNumToString
variant (Big-endian por padrão), e retorna uma string de 36 caracteres em formato de texto.
Sintaxe
binary— Representação binária de um UUID.FixedString(16)variant— Variante conforme especificado na RFC4122. 1 =Big-endian(padrão), 2 =Microsoft.(U)Int*
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
UUIDStringToNum
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx e retorna uma FixedString(16) como sua representação binária, com o formato opcionalmente especificado por variant (Big-endian por padrão).
Sintaxe
string— Uma string ou string de tamanho fixo com 36 caracteres)StringouFixedString(36)variant— Variante conforme especificado pela RFC4122. 1 =Big-endian(padrão), 2 =Microsoft.(U)Int*
string. FixedString(16)
Exemplos
Exemplo de uso
Query
Response
Query
Response
UUIDToNum
variant (Big-endian por padrão).
Esta função substitui chamadas a duas funções separadas, UUIDStringToNum(toString(uuid)), portanto não é necessária nenhuma conversão intermediária de UUID para string para extrair bytes de um UUID.
Sintaxe
uuid— UUID.StringouFixedStringvariant— Variante conforme especificado na RFC4122. 1 =Big-endian(padrão), 2 =Microsoft.(U)Int*
FixedString(16)
Exemplos
Exemplo de uso
Query
Response
Query
Response
UUIDv7ToDateTime
uuid— Um UUID da versão 7.Stringtimezone— Opcional. Nome do fuso horário do valor retornado.String
1970-01-01 00:00:00.000. DateTime64(3)
Exemplos
Exemplo de uso
Query
Response
Query
Response
dateTime64ToSnowflake
value— Data e hora.DateTime64
Int64
Exemplos
Exemplo de uso
Query
Response
dateTime64ToSnowflakeID
value— Data e hora.DateTime64epoch— epoch do Snowflake ID em milissegundos desde 1970-01-01. O padrão é 0 (1970-01-01). Para o epoch do Twitter/X (2015-01-01), forneça 1288834974657.UInt*
UInt64
Exemplos
simples
Query
Response
dateTimeToSnowflake
value— Data e hora.DateTime
Int64
Exemplos
Exemplo de uso
Query
Response
dateTimeToSnowflakeID
value— Data e hora.DateTimeepoch— epoch do Snowflake ID em milissegundos a partir de 1970-01-01. O padrão é 0 (1970-01-01). Para o epoch do Twitter/X (2015-01-01), forneça 1288834974657.UInt*
UInt64
Exemplos
simples
Query
Response
dateTimeToUUIDv7
Em setembro de 2025, os UUIDs versão 7 ainda estão em fase de rascunho, e seu layout pode mudar no futuro.
value— Data com horário.DateTime
UUID
Exemplos
Exemplo de uso
Query
Response
Query
Response
generateSnowflakeID
generateSnowflakeID garante que o campo contador em um timestamp seja incrementado monotonicamente em todas as invocações da função, mesmo em threads e consultas executadas concorrentemente.
Consulte a seção “geração de Snowflake ID” para obter detalhes de implementação.
Sintaxe
expr— Uma expressão arbitrária usada para contornar a eliminação de subexpressões comuns caso a função seja chamada várias vezes em uma consulta. O valor da expressão não afeta o Snowflake ID retornado. Opcional. -machine_id— Um ID de máquina; os 10 bits menos significativos são usados. Int64. Opcional.
UInt64
Exemplos
Exemplo de uso
Query
Response
Query
Response
Query
Response
generateUUIDv4
expr— Opcional. Uma expressão arbitrária usada para contornar a eliminação de subexpressões comuns caso a função seja chamada várias vezes em uma consulta. O valor da expressão não afeta o UUID retornado.
UUID
Exemplos
Exemplo de uso
Query
Response
Query
Response
generateUUIDv7
Em setembro de 2025, os UUIDs versão 7 ainda estão em status de rascunho, e seu layout poderá mudar no futuro.
expr— Opcional. Uma expressão arbitrária usada para evitar a eliminação de subexpressões comuns se a função for chamada várias vezes em uma consulta. O valor da expressão não tem efeito no UUID retornado.Any
UUID
Exemplos
Exemplo de uso
Query
Response
Query
Response
snowflakeIDToDateTime
value— Snowflake ID.UInt64epoch— Opcional. Epoch do Snowflake ID em milissegundos desde 1970-01-01. O padrão é 0 (1970-01-01). Para a epoch do Twitter/X (2015-01-01), informe 1288834974657.UInt*time_zone— Opcional. Fuso horário. A função interpretatime_stringde acordo com o fuso horário.String
value. DateTime
Exemplos
Exemplo de uso
Query
Response
snowflakeIDToDateTime64
value— Snowflake ID.UInt64epoch— Opcional. Epoch do Snowflake ID em milissegundos desde 1970-01-01. O padrão é 0 (1970-01-01). Para a epoch do Twitter/X (2015-01-01), informe 1288834974657.UInt*time_zone— Opcional. Timezone. A função interpretatime_stringde acordo com o fuso horário.String
value como um DateTime64 com escala = 3, ou seja, precisão de milissegundos. DateTime64
Exemplos
Exemplo de uso
Query
Response
snowflakeToDateTime
value— Snowflake ID.Int64time_zone— Opcional. Fuso horário. A função interpretatime_stringde acordo com o fuso horário.String
value. DateTime
Exemplos
Exemplo de uso
Query
Response
snowflakeToDateTime64
value— Snowflake ID.Int64time_zone— Opcional. Fuso horário. A função interpretatime_stringde acordo com o fuso horário.String
value. DateTime64(3)
Exemplos
Exemplo de uso
Query
Response
toUUIDOrDefault
string— String de 36 caracteres ou FixedString(36) a ser convertida em UUID. -default— valor UUID a ser retornado se o primeiro argumento não puder ser convertido para o tipo UUID.
UUID
Exemplos
A conversão bem-sucedida retorna o UUID interpretado
Query
Response
Query
Response
toUUIDOrNull
UUID, mas retorna NULL em caso de erro.
Como toUUID, mas retorna NULL em vez de lançar uma exceção em erros de conversão.
Argumentos compatíveis:
- Representações de UUID em string no formato padrão (8-4-4-4-12 dígitos hexadecimais).
- Representações de UUID em string sem hífens (32 dígitos hexadecimais).
NULL):
- Formatos de string inválidos.
- Tipos não string.
- UUIDs malformados.
x— Uma representação textual de um UUID.String
NULL. UUID ou NULL
Exemplos
Exemplos de uso
Query
Response