bech32Decode
Introduit dans : v25.6.0 Décode une chaîne d’adresse Bech32 générée par l’algorithme bech32 ou bech32m.Contrairement à la fonction d’encodage,
bech32Decode gère automatiquement les FixedStrings avec remplissage.address— Une chaîne Bech32 à décoder.StringouFixedStringmode— Facultatif. Utilisez'raw'pour décoder sans retirer le premier octet servant de version witness. À utiliser pour les adresses non SegWit (par ex. Cosmos SDK).String
(hrp, data) ayant servi à encoder la chaîne. Les données sont au format binaire. Tuple(String, String)
Exemples
Décoder l’adresse
Query
Response
Query
Response
bech32Encode
Introduit dans : v25.6.0 Encode une chaîne de données binaires avec une partie lisible par l’humain (HRP), à l’aide des algorithmes Bech32 ou Bech32m.Lors de l’utilisation du type de données
FixedString, si une valeur ne remplit pas entièrement la ligne, elle est complétée par des caractères nuls.
Bien que la fonction bech32Encode gère cela automatiquement pour l’argument hrp, les valeurs de l’argument data ne doivent pas être complétées.
Pour cette raison, il n’est pas recommandé d’utiliser le type de données FixedString pour vos données, sauf si vous êtes
certain qu’elles ont toutes la même longueur et que votre colonne FixedString est également définie sur cette longueur.hrp— Une chaîne de1 - 83caractères minuscules spécifiant la “partie lisible par l’humain” du code. Généralement ‘bc’ ou ‘tb’.StringouFixedStringdata— Une chaîne de données binaires à encoder.StringouFixedStringwitver_or_variant— Facultatif. Soit une version witness UInt* (par défaut = 1,0pour Bech32,1+ pour Bech32m), soit une variante d’encodage de type String :'bech32'(BIP173) ou'bech32m'(BIP350). Lorsqu’une variante de chaîne est utilisée, aucun octet de version witness n’est ajouté en préfixe — cela est nécessaire pour les adresses non-SegWit comme celles de Cosmos SDK.UInt*ouString
String
Exemples
Bech32m par défaut
Query
Response
Query
Response
Query
Response
Query
Response
bin
Introduit dans : v21.8.0 Renvoie une chaîne contenant la représentation binaire de l’argument selon la logique suivante pour les différents types :
Syntaxe
arg— Valeur à convertir en binaire.StringouFixedStringou(U)Int*ouFloat*ouDecimalouDateouDateTime
String
Exemples
Entier simple
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
Introduit dans : v21.7.0 Cette fonction renvoie les positions (par ordre croissant) des bits à 1 dans la représentation binaire d’un entier non signé. Les entiers signés en entrée sont d’abord convertis en entiers non signés. Syntaxearg— Une valeur entière.(U)Int*
Array(UInt64)
Exemples
Un seul bit défini
Query
Response
Query
Response
bitmaskToArray
Introduit dans : v1.1.0 Cette fonction décompose un entier en somme de puissances de deux. Les puissances de deux sont renvoyées sous la forme d’un tableau classé par ordre croissant. Syntaxenum— Une valeur entière.(U)Int*
Array(UInt64)
Exemples
Exemple de base
Query
Response
Query
Response
bitmaskToList
Introduit dans : v1.1.0 Comme bitmaskToArray, mais renvoie les puissances de deux sous la forme d’une chaîne de caractères séparée par des virgules. Syntaxenum— Une valeur entière.(U)Int*
String
Exemples
Exemple simple
Query
Response
char
Introduit dans : v20.1.0 Renvoie une chaîne dont la longueur est égale au nombre d’arguments passés, dans laquelle chaque octet a la valeur de l’argument correspondant. Accepte plusieurs arguments de types numériques. Si la valeur de l’argument est en dehors de la plage du type de donnéesUInt8, elle est convertie
en UInt8, avec un arrondi et un dépassement de capacité possibles.
Syntaxe
num1[, num2[, num3 ...]]— Arguments numériques interprétés comme des entiers.(U)Int8/16/32/64ouFloat*
String
Exemples
Exemple de base
Query
Response
Query
Response
hex
Introduit dans : v1.1.0 Renvoie une chaîne contenant la représentation hexadécimale de l’argument selon la logique suivante pour les différents types :
La fonction utilise les lettres majuscules
A-F et n’utilise ni préfixe (comme 0x) ni suffixe (comme h).
Syntaxe
arg— Une valeur à convertir en hexadécimal.Stringou(U)Int*ouFloat*ouDecimalouDateouDateTime
String
Exemples
Entier simple
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
Introduit dans : v24.6.0 Décode un index de courbe de Hilbert en un tuple d’entiers non signés, représentant des coordonnées dans un espace multidimensionnel. Comme la fonctionhilbertEncode, cette fonction possède deux modes de fonctionnement :
- Simple
- Étendu
UInt64.
Mode étendu
Accepte un masque de plage (tuple) comme premier argument et jusqu’à 2 entiers non signés comme
autres arguments. Chaque nombre du masque configure le nombre de bits de décalage vers la gauche de
l’argument correspondant, ce qui met effectivement cet argument à l’échelle
dans sa plage.
L’extension de plage peut être utile lorsque vous avez besoin d’une distribution similaire pour
des arguments dont les plages (ou la cardinalité) sont très différentes. Par exemple : ‘Adresse IP’ (0...FFFFFFFF)
et ‘Code pays’ (0...FF). Comme pour la fonction d’encodage, ce mode est limité à 8
nombres au maximum.
Syntaxe
tuple_size— Valeur entière inférieure ou égale à2.UInt8/16/32/64ouTuple(UInt8/16/32/64)code— CodeUInt64.UInt64
Tuple(UInt64)
Exemples
Mode simple
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
Introduit dans : v24.6.0 Calcule le code de la courbe de Hilbert pour une liste d’entiers non signés. La fonction propose deux modes de fonctionnement :- Simple
- étendu
args— Jusqu’à deux valeursUIntou deux colonnes de typeUInt.UInt8/16/32/64range_mask— En mode étendu, jusqu’à deux valeursUIntou deux colonnes de typeUInt.UInt8/16/32/64
UInt64. UInt64
Exemples
Mode simple
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
Introduit dans : v24.6.0 Décode un encodage Morton (ZCurve) en le tuple d’entiers non signés correspondant. Comme pour la fonctionmortonEncode, cette fonction dispose de deux modes de fonctionnement :
- Simple
- étendu
1- aucune réduction2- réduction par 23- réduction par 3 ⋮- Jusqu’à une réduction par 8.
(0...FFFFFFFF)
et « Code pays » (0...FF). Comme pour la fonction d’encodage, cette fonctionnalité est limitée à
8 nombres au maximum.
Syntaxe
tuple_size— Valeur entière inférieure ou égale à 8.UInt8/16/32/64range_mask— En mode étendu, le masque de chaque argument. Le masque est un tuple d’entiers non signés. Chaque nombre du masque définit le niveau de réduction de la plage.Tuple(UInt8/16/32/64)code— Code Morton à décoder, tel que produit parmortonEncode. Seuls lesN * intDiv(64, N)bits de poids faible constituent le domaine d’entrée, oùNest la taille du tuple résultant. Les résultats pour des codes plus grands ne sont pas spécifiés et peuvent varier d’une construction à l’autre.UInt64
Tuple(UInt64)
Exemples
Mode simple
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
Introduit dans : v24.6.0 Calcule l’encodage Morton (ZCurve) pour une liste d’entiers non signés. La fonction a deux modes de fonctionnement :- Simple
- étendu*
UInt64.
Mode étendu
Accepte un masque de plage (Tuple) comme premier argument et
jusqu’à 8 entiers non signés comme arguments supplémentaires.
Chaque nombre du masque détermine le niveau d’extension de la plage :
- 1 - aucune extension
- 2 - extension 2x
- 3 - extension 3x ⋮
- Jusqu’à 8x d’extension.
args— Jusqu’à 8 entiers non signés ou colonnes du type mentionné ci-dessus.UInt8/16/32/64range_mask— En mode étendu, le masque pour chaque argument. Le masque est un tuple d’entiers non signés de1à8. Chaque nombre du masque configure le degré de réduction de la plage.Tuple(UInt8/16/32/64)
UInt64. UInt64
Exemples
Mode simple
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
Introduit dans : v24.1.0 Décode un sqid en tableau de nombres. Syntaxesqid— Le sqid à décoder.String
sqid. Array(UInt64)
Exemples
Exemple d’utilisation
Query
Response
sqidEncode
Introduit dans : v24.1.0 Convertit des nombres en sqid, une chaîne d’identifiant de type YouTube. Syntaxesqid
Arguments
n1[, n2, ...]— Un nombre quelconque de valeurs numériques.UInt8/16/32/64
String
Exemples
Exemple d’utilisation
Query
Response
unbin
Introduit dans : v21.8.0 Interprète chaque paire de chiffres binaires (dans l’argument) comme un nombre et la convertit en l’octet représenté par ce nombre. La fonction effectue l’opération inverse debin.
Pour un argument numérique, unbin() ne renvoie pas l’inverse de bin(). Si vous souhaitez convertir le résultat en nombre, vous pouvez utiliser les fonctions reverse et reinterpretAs<Type>.
Si
unbin est appelée depuis le clickhouse-client, les chaînes binaires sont affichées en UTF-8.0 et 1. Le nombre de chiffres binaires n’a pas besoin d’être un multiple de huit. Si la chaîne d’argument contient autre chose que des chiffres binaires,
le résultat est indéfini (aucune exception n’est levée).
Syntaxe
arg— Une chaîne contenant une suite quelconque de chiffres binaires.String
String
Exemples
Utilisation de base
Query
Response
Query
Response
unhex
Introduit dans : v1.1.0 Effectue l’opération inverse dehex. Interprète chaque paire de chiffres hexadécimaux (dans l’argument) comme un nombre, puis la convertit
en l’octet représenté par ce nombre. La valeur renvoyée est une chaîne binaire (BLOB).
Si vous souhaitez convertir le résultat en nombre, vous pouvez utiliser les fonctions reverse et reinterpretAs<Type>.
clickhouse-client interprète les chaînes comme de l’UTF-8.
Cela peut entraîner un affichage inattendu des valeurs renvoyées par hex.A-F, en majuscules comme en minuscules.
Le nombre de chiffres hexadécimaux n’a pas besoin d’être pair.
S’il est impair, le dernier chiffre est interprété comme la moitié de poids faible de l’octet 00-0F.
Si la chaîne d’argument contient autre chose que des chiffres hexadécimaux, un résultat défini par l’implémentation est renvoyé (aucune exception n’est levée).
Pour un argument numérique, unhex() n’effectue pas l’inverse de hex(N).
Syntaxe
arg— Une chaîne contenant un nombre quelconque de caractères hexadécimaux.StringouFixedString
String
Exemples
Utilisation de base
Query
Response
Query
Response