bech32Decode
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 witness version. À 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
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
'1', et d’une partie de données. La longueur de la chaîne ne dépassera jamais 90 caractères. Si l’algorithme ne peut pas générer d’adresse valide à partir de l’entrée, il renvoie une chaîne vide. String
Exemples
Bech32m par défaut
Query
Response
Query
Response
Query
Response
Query
Response
bin
Syntaxe
arg— Valeur à convertir en binaire.StringouFixedStringou(U)Int*ouFloat*ouDecimalouDateouDateTime
String
Exemples
Entier simple
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
arg— Une valeur entière.(U)Int*
Array(UInt64)
Exemples
Un seul bit défini
Query
Response
Query
Response
bitmaskToArray
num— Une valeur entière.(U)Int*
Array(UInt64)
Exemples
Exemple de base
Query
Response
Query
Response
bitmaskToList
num— Une valeur entière.(U)Int*
String
Exemples
Exemple simple
Query
Response
char
UInt8, 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
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
hilbertEncode, 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
- 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
mortonEncode, 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 UInt64.UInt64
Tuple(UInt64)
Exemples
Mode simple
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
- 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
sqid— Le sqid à décoder.String
sqid. Array(UInt64)
Exemples
Exemple d’utilisation
Query
Response
sqidEncode
sqid
Arguments
n1[, n2, ...]— Un nombre quelconque de valeurs numériques.UInt8/16/32/64
String
Exemples
Exemple d’utilisation
Query
Response
unbin
bin.
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
hex. 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