Fonctions pour manipuler les UUIDs
Génération des UUIDv7
unix_ts_ms), le compteur démarre à une valeur aléatoire et est incrémenté de 1 pour chaque nouvel UUID jusqu’à ce que l’horodatage change. En cas de débordement du compteur, le champ d’horodatage est incrémenté de 1 et le compteur est réinitialisé à une nouvelle valeur de départ aléatoire.
Les fonctions de génération d’UUID garantissent que le champ de compteur, pour un horodatage donné, s’incrémente de façon monotone sur l’ensemble des appels de fonction effectués dans des threads et des requêtes exécutés de manière concurrente.
Génération des Snowflake IDs
unix_ts_ms), le compteur commence à 0 et est incrémenté de 1 pour chaque nouveau Snowflake ID, jusqu’à ce que l’horodatage change. En cas de dépassement de capacité du compteur, le champ d’horodatage est incrémenté de 1 et le compteur est réinitialisé à 0.
Les Snowflake IDs générés sont basés sur l’époque Unix du 1970-01-01. Bien qu’il n’existe aucune norme ni recommandation concernant l’époque des Snowflake IDs, les implémentations dans d’autres systèmes peuvent utiliser une époque différente, par exemple Twitter/X (2010-11-04) ou Mastodon (2015-01-01).
UUIDNumToString
variant (Big-endian par défaut), et renvoie une chaîne de 36 caractères au format texte.
Syntaxe
binary— Représentation binaire d’un UUID.FixedString(16)variant— Variante telle que définie par la RFC4122. 1 =Big-endian(par défaut), 2 =Microsoft.(U)Int*
String
Exemples
Exemple d’utilisation
Query
Response
Query
Response
UUIDStringToNum
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx et renvoie un FixedString(16) sous sa représentation binaire, dont le format peut être spécifié via variant (Big-endian par défaut).
Syntaxe
string— Une chaîne de caractères ou une chaîne de longueur fixe de 36 caractères)StringouFixedString(36)variant— Variante telle que spécifiée par la RFC4122. 1 =Big-endian(par défaut), 2 =Microsoft.(U)Int*
string. FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
Query
Response
UUIDToNum
variant (Big-endian par défaut).
Cette fonction remplace les appels combinés aux deux fonctions UUIDStringToNum(toString(uuid)), de sorte qu’aucune conversion intermédiaire de l’UUID en chaîne n’est nécessaire pour extraire les octets d’un UUID.
Syntaxe
uuid— UUID.StringouFixedStringvariant— Variante telle que définie dans la RFC4122. 1 =Big-endian(par défaut), 2 =Microsoft.(U)Int*
FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
Query
Response
UUIDv7ToDateTime
uuid— Un UUID version 7.Stringtimezone— Facultatif. Nom du fuseau horaire de la valeur renvoyée.String
1970-01-01 00:00:00.000. DateTime64(3)
Exemples
Exemple d’utilisation
Query
Response
Query
Response
dateTime64ToSnowflake
value— Date et heure.DateTime64
Int64
Exemples
Exemple d’utilisation
Query
Response
dateTime64ToSnowflakeID
value— Date et heure.DateTime64epoch— Epoch du Snowflake ID, en millisecondes depuis 1970-01-01. La valeur par défaut est 0 (1970-01-01). Pour l’epoch Twitter/X (2015-01-01), utilisez 1288834974657.UInt*
UInt64
Exemples
simple
Query
Response
dateTimeToSnowflake
value— Date et heure.DateTime
Int64
Exemples
Exemple d’utilisation
Query
Response
dateTimeToSnowflakeID
value— Date avec heure.DateTimeepoch— Époque du Snowflake ID, en millisecondes depuis 1970-01-01. La valeur par défaut est 0 (1970-01-01). Pour l’époque Twitter/X (2015-01-01), indiquez 1288834974657.UInt*
UInt64
Exemples
simple
Query
Response
dateTimeToUUIDv7
En septembre 2025, les UUID version 7 sont encore à l’état de brouillon et leur structure pourrait évoluer à l’avenir.
value— Date et heure.DateTime
UUID
Exemples
Exemple d’utilisation
Query
Response
Query
Response
generateSnowflakeID
generateSnowflakeID garantit que le champ compteur d’un horodatage s’incrémente de manière monotone sur l’ensemble des invocations de la fonction dans des threads et des requêtes exécutés de manière concurrente.
Voir la section “Génération de Snowflake ID” pour plus de détails sur l’implémentation.
Syntaxe
expr— Une expression arbitraire utilisée pour contourner l’élimination des sous-expressions communes si la fonction est appelée plusieurs fois dans une requête. La valeur de l’expression n’a aucun effet sur le Snowflake ID renvoyé. Facultatif. -machine_id— Un ID de machine ; les 10 bits de poids faible sont utilisés. Int64. Facultatif.
UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
generateUUIDv4
expr— Facultatif. Expression arbitraire utilisée pour contourner l’élimination des sous-expressions communes si la fonction est appelée plusieurs fois dans une requête. La valeur de l’expression n’a aucun effet sur l’UUID renvoyé.
UUID
Exemples
Exemple d’utilisation
Query
Response
Query
Response
generateUUIDv7
En septembre 2025, les UUID de version 7 sont encore à l’état de projet, et leur structure pourrait évoluer à l’avenir.
expr— Facultatif. Expression arbitraire utilisée pour contourner l’élimination des sous-expressions communes si la fonction est appelée plusieurs fois dans une requête. La valeur de l’expression n’a aucun effet sur l’UUID renvoyé.Any
UUID
Exemples
Exemple d’utilisation
Query
Response
Query
Response
snowflakeIDToDateTime
value— Snowflake ID.UInt64epoch— Facultatif. Époque du Snowflake ID, en millisecondes depuis 1970-01-01. La valeur par défaut est 0 (1970-01-01). Pour l’époque de Twitter/X (2015-01-01), indiquez 1288834974657.UInt*time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon le fuseau horaire.String
value. DateTime
Exemples
Exemple d’utilisation
Query
Response
snowflakeIDToDateTime64
value— Snowflake ID.UInt64epoch— Facultatif. Époque du Snowflake ID en millisecondes depuis le 1970-01-01. La valeur par défaut est 0 (1970-01-01). Pour l’époque Twitter/X (2015-01-01), indiquez 1288834974657.UInt*time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringselon le fuseau horaire.String
value sous la forme d’un DateTime64 avec scale = 3, c’est-à-dire une précision à la milliseconde. DateTime64
Exemples
Exemple d’utilisation
Query
Response
snowflakeToDateTime
value— Snowflake ID.Int64time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringen fonction du fuseau horaire.String
value. DateTime
Exemples
Exemple d’utilisation
Query
Response
snowflakeToDateTime64
value— Snowflake ID.Int64time_zone— Facultatif. Fuseau horaire. La fonction interprètetime_stringen fonction du fuseau horaire.String
value. DateTime64(3)
Exemples
Exemple d’utilisation
Query
Response
toUUIDOrDefault
string— Chaîne de 36 caractères ou FixedString(36) à convertir en UUID. -default— valeur UUID à renvoyer si le premier argument ne peut pas être converti en UUID.
UUID
Exemples
Une conversion réussie renvoie l’UUID obtenu
Query
Response
Query
Response
toUUIDOrNull
UUID, mais renvoie NULL en cas d’erreur.
Comme toUUID, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion.
Arguments pris en charge :
- Représentations sous forme de chaîne d’UUID au format standard (8-4-4-4-12 chiffres hexadécimaux).
- Représentations sous forme de chaîne d’UUID sans traits d’union (32 chiffres hexadécimaux).
NULL) :
- Formats de chaîne non valides.
- Types non chaîne.
- UUID mal formés.
x— Une représentation sous forme de chaîne d’un UUID.String
NULL. UUID ou NULL
Exemples
Exemples d’utilisation
Query
Response