Funciones para trabajar con UUIDs
Generación de UUIDv7
unix_ts_ms), el contador comienza con un valor aleatorio y se incrementa en 1 por cada UUID nuevo hasta que la marca temporal cambia. En caso de desbordamiento del contador, el campo de marca temporal se incrementa en 1 y el contador se restablece a un nuevo valor inicial aleatorio.
Las funciones de generación de UUID garantizan que el campo del contador dentro de una marca temporal se incremente de forma monótona en todas las invocaciones de la función realizadas por hilos y consultas que se ejecutan de forma concurrente.
Generación de ID de Snowflake
unix_ts_ms), el contador empieza en 0 y se incrementa en 1 para cada nuevo ID de Snowflake hasta que cambia la marca temporal. Si el contador se desborda, el campo de marca temporal se incrementa en 1 y el contador se reinicia a 0.
Los ID de Snowflake generados se basan en la época UNIX 1970-01-01. Aunque no existe ningún estándar ni recomendación sobre la época de los ID de Snowflake, las implementaciones de otros sistemas pueden usar una época distinta; por ejemplo, Twitter/X (2010-11-04) o Mastodon (2015-01-01).
UUIDNumToString
variant (Big-endian de forma predeterminada), y devuelve una cadena de 36 caracteres en formato de texto.
Sintaxis
binary— Representación binaria de un UUID.FixedString(16)variant— Variante según lo especificado en RFC4122. 1 =Big-endian(por defecto), 2 =Microsoft.(U)Int*
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
UUIDStringToNum
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx y devuelve un FixedString(16) como representación binaria, cuyo formato puede especificarse opcionalmente mediante variant (Big-endian de forma predeterminada).
Sintaxis
string— Una cadena o una cadena de longitud fija de 36 caracteresStringoFixedString(36)variant— Variante según lo especificado en RFC4122. 1 =Big-endian(predeterminado), 2 =Microsoft.(U)Int*
string. FixedString(16)
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
UUIDToNum
variant (Big-endian de forma predeterminada).
Esta función reemplaza la llamada combinada a dos funciones, UUIDStringToNum(toString(uuid)), por lo que no se requiere una conversión intermedia de UUID a cadena para extraer los bytes de un UUID.
Sintaxis
uuid— UUID.StringoFixedStringvariant— Variante según lo especificado en RFC4122. 1 =Big-endian(predeterminado), 2 =Microsoft.(U)Int*
FixedString(16)
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
UUIDv7ToDateTime
uuid— Un UUID de versión 7.Stringtimezone— Opcional. Nombre de la zona horaria para el valor devuelto.String
1970-01-01 00:00:00.000. DateTime64(3)
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
dateTime64ToSnowflake
value— Fecha con hora.DateTime64
Int64
Ejemplos
Ejemplo de uso
Query
Response
dateTime64ToSnowflakeID
value— Fecha con hora.DateTime64epoch— Época del ID de Snowflake, en milisegundos desde 1970-01-01. El valor predeterminado es 0 (1970-01-01). Para la época de Twitter/X (2015-01-01), proporcione 1288834974657.UInt*
UInt64
Ejemplos
simple
Query
Response
dateTimeToSnowflake
value— Fecha y hora.DateTime
Int64
Ejemplos
Ejemplo de uso
Query
Response
dateTimeToSnowflakeID
value— Fecha con hora.DateTimeepoch— Epoch del Snowflake ID en milisegundos desde 1970-01-01. El valor predeterminado es 0 (1970-01-01). Para el epoch de Twitter/X (2015-01-01), proporcione 1288834974657.UInt*
UInt64
Ejemplos
simple
Query
Response
dateTimeToUUIDv7
A partir de septiembre de 2025, los UUID de versión 7 están en fase de borrador y su estructura puede cambiar en el futuro.
value— Fecha y hora.DateTime
UUID
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
generateSnowflakeID
generateSnowflakeID garantiza que el campo contador dentro de una marca de tiempo se incremente de forma monotónica en todas las invocaciones de la función, incluso en subprocesos y consultas que se ejecutan de forma concurrente.
Consulte la sección “Generación de Snowflake ID” para obtener detalles de implementación.
Sintaxis
expr— Una expresión arbitraria que se utiliza para sortear la eliminación de subexpresiones comunes si la función se invoca varias veces en una consulta. El valor de la expresión no influye en el Snowflake ID devuelto. Opcional. -machine_id— Un ID de máquina; se utilizan los 10 bits menos significativos. Int64. Opcional.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
generateUUIDv4
expr— Opcional. Una expresión arbitraria utilizada para eludir la eliminación de subexpresiones comunes si se llama a la función varias veces en una consulta. El valor de la expresión no afecta al UUID devuelto.
UUID
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
generateUUIDv7
En septiembre de 2025, los UUID de versión 7 están en estado de borrador y su estructura puede cambiar en el futuro.
expr— Opcional. Una expresión arbitraria que se utiliza para evitar la eliminación de subexpresiones comunes si la función se llama varias veces en una consulta. El valor de la expresión no afecta al UUID devuelto.Any
UUID
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
snowflakeIDToDateTime
value— Snowflake ID.UInt64epoch— Opcional. Epoch del Snowflake ID en milisegundos desde 1970-01-01. El valor predeterminado es 0 (1970-01-01). Para el epoch de Twitter/X (2015-01-01), proporcione 1288834974657.UInt*time_zone— Opcional. Zona horaria. La función analizatime_stringde acuerdo con la zona horaria.String
value. DateTime
Ejemplos
Ejemplo de uso
Query
Response
snowflakeIDToDateTime64
value— Snowflake ID.UInt64epoch— Opcional. Epoch del Snowflake ID en milisegundos desde 1970-01-01. El valor predeterminado es 0 (1970-01-01). Para el epoch de Twitter/X (2015-01-01), proporcione 1288834974657.UInt*time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
value como un DateTime64 con escala = 3, es decir, precisión de milisegundos. DateTime64
Ejemplos
Ejemplo de uso
Query
Response
snowflakeToDateTime
value— Snowflake ID.Int64time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
value. DateTime
Ejemplos
Ejemplo de uso
Query
Response
snowflakeToDateTime64
value— Snowflake ID.Int64time_zone— Opcional. Zona horaria. La función interpretatime_stringsegún la zona horaria.String
value. DateTime64(3)
Ejemplos
Ejemplo de uso
Query
Response
toUUIDOrDefault
string— Cadena de 36 caracteres o FixedString(36) que se convertirá a UUID. -default— valor UUID que se devolverá si el primer argumento no puede convertirse al tipo UUID.
UUID
Ejemplos
Una conversión correcta devuelve el UUID analizado
Query
Response
Query
Response
toUUIDOrNull
UUID, pero devuelve NULL en caso de error.
Como toUUID, pero devuelve NULL en lugar de lanzar una excepción cuando se producen errores de conversión.
Argumentos admitidos:
- Representaciones en cadena de UUID en formato estándar (8-4-4-4-12 dígitos hexadecimales).
- Representaciones en cadena de UUID sin guiones (32 dígitos hexadecimales).
NULL):
- Formatos de cadena no válidos.
- Tipos que no son de cadena.
- UUID mal formados.
x— Una representación en forma de cadena de un UUID.String
NULL. UUID o NULL
Ejemplos
Ejemplos de uso
Query
Response