La documentation de la fonction ci-dessous est générée à partir de la table système
system.functions.FQDN
fullHostName
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
MACNumToString
UInt64 comme une adresse MAC au format big-endian.
Renvoie l’adresse MAC correspondante au format AA:BB:CC:DD:EE:FF (nombres hexadécimaux séparés par des deux-points) sous forme de chaîne.
Syntaxe
num— nombre de type UInt64.UInt64
String
Exemples
Exemple d’utilisation
Query
Response
MACStringToNum
s— Chaîne d’adresse MAC.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
MACStringToOUI
s— adresse MAC sous forme de chaîne.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
authenticatedUser
authUser
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
bar
x— Taille à afficher.(U)Int*ouFloat*ouDecimalmin— La valeur minimale.(U)Int*ouFloat*ouDecimalmax— La valeur maximale.(U)Int*ouFloat*ouDecimalwidth— Facultatif. Largeur de la barre en caractères. La valeur par défaut est80.const (U)Int*ouconst Float*ouconst Decimal
String
Exemples
Exemple d’utilisation
Query
Response
blockNumber
- Aucun.
UInt64
Exemples
Utilisation de base
Query
Response
blockSerializedSize
x1[, x2, ...]— Nombre quelconque de valeurs dont on souhaite obtenir la taille non compressée du bloc.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
blockSize
- Aucun.
UInt64
Exemples
Exemple d’utilisation
Query
Response
buildId
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
byteSize
String, la fonction renvoie la longueur de la chaîne + 8 (longueur).
Si la fonction comporte plusieurs arguments, elle additionne leurs tailles en octets.
Syntaxe
arg1[, arg2, ...]— Valeurs de n’importe quel type de données dont il faut estimer la taille non compressée, en octets.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
catboostEvaluate
- Compiler la bibliothèque d’évaluation CatBoost
libcatboostmodel.<so|dylib> doit être accessible. Consultez la documentation CatBoost pour savoir comment la compiler.
Ensuite, indiquez le chemin vers libcatboostmodel.<so|dylib> dans la configuration de ClickHouse :
catboostEvaluate(), le serveur démarre le processus clickhouse-library-bridge s’il n’est pas déjà en cours d’exécution. Les deux processus
communiquent via une interface HTTP. Par défaut, le port 9012 est utilisé. Un autre port peut être spécifié comme suit - cela est utile si le port
9012 est déjà attribué à un autre service.
- Entraîner un modèle catboost avec libcatboost
path_to_model— Chemin vers le modèle CatBoost.const Stringfeature— Une ou plusieurs caractéristiques/arguments du modèle.Float*
Float64
Exemples
catboostEvaluate
Query
Response
colorOKLABToSRGB
- L : luminosité perceptuelle (généralement dans l’intervalle [0..1])
- a : axe d’opposition vert-rouge
- b : axe d’opposition bleu-jaune
- Conversion d’OKLab vers sRGB linéaire. 2) Conversion de sRGB linéaire vers sRGB encodé avec gamma.
tuple— Un tuple de trois valeurs numériquesL,a,b, oùLest compris dans l’intervalle[0...1].Tuple(Float64, Float64, Float64)gamma— Facultatif. L’exposant utilisé pour reconvertir le sRGB linéaire en sRGB en appliquant(x ^ (1 / gamma)) * 255à chaque canalx. La valeur par défaut est2.2.Float64
Tuple(Float64, Float64, Float64)
Exemples
Convertir OKLAB en sRGB (Float)
Query
Response
Query
Response
colorOKLCHToSRGB
L est hors de la plage [0...1], si C est négatif, ou si H est hors de la plage [0...360], le résultat est défini par l’implémentation.
OKLCH est une version cylindrique de l’espace colorimétrique OKLab.
Ses trois coordonnées sont
L (la clarté dans la plage [0...1]), C (chroma >= 0) et H (teinte en degrés dans [0...360]).
OKLab/OKLCH est conçu pour être perceptuellement uniforme tout en restant peu coûteux en calcul.colorSRGBToOKLCH :
- D’OKLCH vers OKLab. 2) D’OKLab vers sRGB linéaire 3) De sRGB linéaire vers sRGB
gamma est utilisé à la dernière étape.
Pour voir des références de couleurs dans l’espace OKLCH ainsi que leur correspondance avec les couleurs sRGB, consultez https://oklch.com/.
Syntaxe
tuple— Un tuple de trois valeurs numériquesL,C,H, oùLest dans l’intervalle[0...1],C >= 0etHest dans l’intervalle[0...360].Tuple(Float64, Float64, Float64)gamma— Facultatif. L’exposant utilisé pour reconvertir le sRGB linéaire en sRGB en appliquant(x ^ (1 / gamma)) * 255à chaque canalx. La valeur par défaut est2.2.Float64
Tuple(Float64, Float64, Float64)
Exemples
Convertir OKLCH en sRGB
Query
Response
Query
Response
colorSRGBToOKLAB
[0...255] ou si la valeur de gamma n’est pas positive, le comportement dépend de l’implémentation.
OKLAB est un espace colorimétrique perceptuellement uniforme.
Ses trois coordonnées sont
L (la clarté dans la plage [0...1]), a (Green-Red axis) et b (Blue-Yellow axis).
OKLab est conçu pour être perceptuellement uniforme tout en restant peu coûteux en calcul.- sRGB vers sRGB linéaire 2) sRGB linéaire vers OKLab
tuple— Tuple de trois valeurs R, G, B comprises dans l’intervalle[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Facultatif. Exposant utilisé pour linéariser sRGB en appliquant(x / 255)^gammaà chaque canalx. La valeur par défaut est2.2.Float64
Tuple(Float64, Float64, Float64)
Exemples
Convertir sRGB en OKLAB
Query
Response
colorSRGBToOKLCH
[0...255] ou si la valeur de gamma n’est pas positive, le comportement est défini par l’implémentation.
OKLCH est une version cylindrique de l’espace colorimétrique OKLab.
Ses trois coordonnées sont
L (la clarté dans l’intervalle [0...1]), C (la chroma >= 0) et H (la teinte, en degrés, dans [0...360]).
OKLab/OKLCH est conçu pour être perceptuellement uniforme tout en restant peu coûteux en calcul.- sRGB vers sRGB linéaire 2) sRGB linéaire vers OKLab 3) OKLab vers OKLCH.
tuple— Tuple de trois valeurs R, G, B comprises dans l’intervalle[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Facultatif. Exposant utilisé pour linéariser sRGB en appliquant(x / 255)^gammaà chaque canalx. La valeur par défaut est2.2.Float64
Tuple(Float64, Float64, Float64)
Exemples
Convertir sRGB en OKLCH
Query
Response
connectionId
CONNECTION_ID de MySQL.
Elle n’est généralement pas utilisée dans les requêtes de production.
Syntaxe
- Aucun.
UInt64
Exemples
Exemple d’utilisation
Query
Response
countDigits
Cette fonction tient compte de l’échelle des valeurs décimales, c’est-à-dire qu’elle calcule le résultat à partir du type entier sous-jacent, soit
(value * scale).Par exemple :countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x. UInt8
Exemples
Exemple d’utilisation
Query
Response
currentDatabase
CREATE TABLE, lorsque vous devez spécifier la base de données.
Voir aussi l’instruction SET.
Syntaxe
current_database, SCHEMA, DATABASE
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
Query
Response
currentProfiles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
currentQueryID
current_query_id
Arguments
- Aucun argument.
Query
Response
currentRoles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
currentSchemas
currentDatabase, mais :
- accepte un argument booléen qui est ignoré
- renvoie le nom de la base de données dans un tableau ne contenant qu’une seule valeur.
currentSchemas n’existe que pour assurer la compatibilité avec PostgreSQL.
Utilisez plutôt currentDatabase.
Voir aussi l’instruction SET.
Syntaxe
current_schemas
Arguments
bool— Une valeur booléenne, qui est ignorée.Bool
Array(String)
Exemples
Exemple d’utilisation
Query
Response
currentUser
session_user, user, current_user
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
Query
Response
defaultProfiles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
defaultRoles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
defaultValueOfArgumentType
expression— Valeur de type arbitraire ou expression produisant une valeur de type arbitraire.Any
0 pour les nombres, une chaîne vide pour les chaînes de caractères ou NULL pour les types Nullable. UInt8 ou String ou NULL
Exemples
Exemple d’utilisation
Query
Response
Query
Response
defaultValueOfTypeName
type— Une chaîne représentant un nom de type.String
0 pour les nombres, une chaîne vide pour les chaînes, ou NULL pour UInt8 Nullable, String ou NULL
Exemples
Exemple d’utilisation
Query
Response
Query
Response
displayName
display_name dans config ou, si elle n’est pas définie, le nom de domaine pleinement qualifié (FQDN) du serveur.
Syntaxe
- Aucun.
display_name dans la config ou, si elle n’est pas définie, le FQDN du serveur. String
Exemples
Exemple d’utilisation
Query
Response
dumpColumnStructure
x— Valeur dont il faut obtenir la description.Any
String
Exemples
Exemple d’utilisation
Query
Response
enabledProfiles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
enabledRoles
- Aucun.
Array(String)
Exemples
Exemple d’utilisation
Query
Response
errorCodeToName
error_code. String
Exemples
Exemple d’utilisation
Query
Response
file
file.
Syntaxe
path— Le chemin du fichier par rapport àuser_files_path. Prend en charge les caractères génériques*,**,?,{abc,def}et{N..M}, oùNetMsont des nombres et'abc','def'des chaînes.Stringdefault— La valeur renvoyée si le fichier n’existe pas ou n’est pas accessible.StringouNULL
String
Exemples
Insérer des fichiers dans une table
Query
Response
filesystemAvailable
filesystemUnreserved), car une partie de cet espace est réservée au système d’exploitation.
Syntaxe
disk_name— Facultatif. Nom du disque dont il faut déterminer l’espace libre. S’il est omis, le disque par défaut est utilisé.StringouFixedString
UInt64
Exemples
Exemple d’utilisation
Query
Response
filesystemCapacity
disk_name— Facultatif. Nom du disque dont il faut obtenir la capacité. S’il est omis, le disque par défaut est utilisé.StringouFixedString
UInt64
Exemples
Exemple d’utilisation
Query
Response
filesystemUnreserved
filesystemFree).
Voir aussi filesystemAvailable.
Syntaxe
disk_name— Facultatif. Nom du disque pour lequel trouver la quantité totale d’espace libre. S’il est omis, le disquedefaultest utilisé.StringouFixedString
UInt64
Exemples
Exemple d’utilisation
Query
Response
finalizeAggregation
state— État de l’agrégation.AggregateFunction
Any
Exemples
Exemple d’utilisation
Query
Response
Query
Response
flipCoordinates
geometry— Géométrie à transformer. Types pris en charge : Point (Tuple(Float64, Float64)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)) ou Geometry (un variant contenant l’un de ces types).
Point ou Ring ou Polygon ou MultiPolygon ou LineString ou MultiLineString ou Geometry
Exemples
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
query— La requête SQL à mettre en forme. String
String
Exemples
multiligne
Query
Response
formatQueryOrNull
query— La requête SQL à mettre en forme. String
String
Exemples
multiligne
Query
Response
formatQuerySingleLine
query— La requête SQL à formater. String
String
Exemples
multiligne
Query
Response
formatQuerySingleLineOrNull
query— La requête SQL à formater.String
String
Exemples
multiligne
Query
Response
formatReadableDecimalSize
parseReadableSize.
Syntaxe
value— Taille en octets.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Facultatif. Nombre de chiffres après la virgule. La valeur par défaut est 2.const UInt8
String
Exemples
Formater les tailles de fichier
Query
Response
Query
Response
formatReadableQuantity
Float64.
Les résultats peuvent être moins précis pour les grandes valeurs.
Syntaxe
value— Un nombre à formater.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Facultatif. Nombre de chiffres après le séparateur décimal. Valeur par défaut : 2.const UInt8
String
Exemples
Formater des nombres avec des suffixes
Query
Response
Query
Response
formatReadableSize
parseReadableSize, parseReadableSizeOrZero et parseReadableSizeOrNull.
Cette fonction accepte en entrée n’importe quel type numérique, mais les convertit en interne en Float64. Les résultats peuvent être moins précis avec de grandes valeurs.
Syntaxe
FORMAT_BYTES
Arguments
value— Taille en octets.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Facultatif. Nombre de chiffres après la virgule. La valeur par défaut est 2.const UInt8
String
Exemples
Formater les tailles de fichiers
Query
Response
Query
Response
formatReadableTimeDelta
expression INTERVAL, cette fonction renvoie un delta temporel sous forme de chaîne, avec année/mois/jour/heure/minute/seconde/milliseconde/microseconde/nanoseconde.
Cette fonction accepte n’importe quel type numérique en entrée, mais les convertit en interne en Float64. Les résultats peuvent être moins précis avec des valeurs élevées.
Lorsqu’une expression INTERVAL est transmise, sa valeur est convertie en secondes. Les unités d’intervalle MONTH et supérieures (MONTH, QUARTER, YEAR) ne sont pas prises en charge, car elles ne représentent pas un intervalle de durée fixe en secondes.
Syntaxe
column— Une colonne contenant un écart de temps numérique, ou une expressionINTERVAL. Les unités d’intervalleMONTHet supérieures ne sont pas prises en charge.Float64ouIntervalmaximum_unit— Facultatif. Unité maximale à afficher. Valeurs acceptables :nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Valeur par défaut :years.const Stringminimum_unit— Facultatif. Unité minimale à afficher. Toutes les unités plus petites sont tronquées. Valeurs acceptables :nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Si la valeur explicitement spécifiée est supérieure àmaximum_unit, une exception est levée. Valeur par défaut :secondssimaximum_unitvautsecondsou une unité supérieure,nanosecondssinon.const String
String
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
fuzzQuery
allow_fuzz_query_functions = 1.
Syntaxe
query— La requête SQL à soumettre au fuzzing. String
String
Exemples
simple
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ....
Syntaxe
number_of_columns— Le nombre souhaité de colonnes dans la structure de table générée. S’il est défini sur 0 ouNull, le nombre de colonnes sera choisi aléatoirement entre 1 et 128. Valeur par défaut :Null.UInt64seed— Graine aléatoire utilisée pour produire des résultats stables. Si la graine n’est pas spécifiée ou si elle est définie surNull, elle est générée aléatoirement.UInt64
String
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
generateSerialID
series_keeper_path dans la configuration du serveur.
Syntaxe
series_identifier— Identifiant de sérieconst Stringstart_value— Facultatif. Valeur initiale du compteur. La valeur par défaut est 0. Remarque : cette valeur n’est utilisée que lors de la création d’une nouvelle série et est ignorée si la série existe déjàUInt*
UInt64
Exemples
premier appel
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Authentication et X-ClickHouse-*) sont soumis à des restrictions.
Le paramètre
allow_get_client_http_header est requisLa fonction nécessite que le paramètre allow_get_client_http_header soit activé.
Ce paramètre n’est pas activé par défaut pour des raisons de sécurité, car certains en-têtes, tels que Cookie, peuvent contenir des informations sensibles.name— Le nom de l’en-tête HTTP.String
String
Exemples
Exemple d’utilisation
Query
Response
getMacro
<macros> du fichier de configuration et peuvent être utilisées pour distinguer les serveurs à l’aide de noms explicites, même si leurs noms d’hôte sont complexes.
Si la fonction est exécutée dans le contexte d’une table distribuée, elle génère une colonne normale avec des valeurs correspondant à chaque fragment.
Syntaxe
name— Le nom de la macro à récupérer.const String
String
Exemples
Utilisation de base
Query
Response
getMaxTableNameLengthForDatabase
database_name— Nom de la base de données spécifiée.String
Query
Response
getMergeTreeSetting
setting_name— Nom du paramètre.String
Query
Response
getOSKernelVersion
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
getServerPort
port_name— Le nom du port.String
UInt16
Exemples
Exemple d’utilisation
Query
Response
getServerSetting
setting_name— Le nom du paramètre du serveur.String
Any
Exemples
Exemple d’utilisation
Query
Response
getSetting
setting_Name— Le nom du paramètre.const String
Any
Exemples
Exemple d’utilisation
Query
Response
getSettingOrDefault
setting_name— Le nom du paramètre.Stringdefault_value— Valeur à renvoyer si custom_setting n’est pas défini. La valeur peut être de n’importe quel type de données ou de NULL.
default_value si le paramètre n’est pas défini.
Exemples
Exemple d’utilisation
Query
Response
getSizeOfEnumType
Enum donné.
Syntaxe
x— Valeur de typeEnum.Enum
Enum. UInt8/16
Exemples
Exemple d’utilisation
Query
Response
getSubcolumn
- Aucun.
Query
Response
getTypeSerializationStreams
col— Colonne ou représentation sous forme de chaîne d’un type de données à partir de laquelle le type de données sera détecté.Any
Array(String)
Exemples
tuple
Query
Response
Query
Response
globalVariable
name— Nom de variable globale.String
name. Any
Exemples
globalVariable
Query
Response
hasColumnInTable
0.
Syntaxe
database— Nom de la base de données.const Stringtable— Nom de la table.const Stringcolumn— Nom de la colonne.const Stringhostname— Facultatif. Nom du serveur distant sur lequel effectuer la vérification.const Stringusername— Facultatif. Nom d’utilisateur du serveur distant.const Stringpassword— Facultatif. Mot de passe du serveur distant.const String
1 si la colonne indiquée existe, 0 sinon. UInt8
Exemples
Vérifier l’existence d’une colonne
Query
Response
Query
Response
hasThreadFuzzer
- Aucun.
UInt8
Exemples
Vérifier le statut du Thread Fuzzer
Query
Response
highlightQuery
query— Une chaîne de requête SQL ClickHouse. String.
(begin UInt64, end UInt64, type Enum8(...)) représentant des plages mises en évidence. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Exemples
simple
Query
Response
hostName
hostname
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
icebergBucket
N— Le nombre de buckets (modulo).const (U)Int*value— La valeur source à transformer.(U)Int*ouBoolouDecimalouFloat*ouStringouFixedStringouUUIDouDateouTimeouDateTime
Int32
Exemples
Exemple
Query
Response
icebergTruncate
Query
Response
identity
x— Valeur d’entrée.Any
Any
Exemples
Exemple d’utilisation
Query
Response
ignore
0.
Syntaxe
x— Une valeur d’entrée non utilisée, transmise uniquement pour éviter une erreur de syntaxe.Any
0. UInt8
Exemples
Exemple d’utilisation
Query
Response
indexHint
indexHint.
Cela vous permet de sélectionner des données dans des plages d’index à l’aide de la condition correspondante, mais sans filtrage supplémentaire sur cette condition.
L’index de ClickHouse est sparse, et l’utilisation de indexHint renverra plus de données que si vous spécifiez directement la même condition.
Explication
Explication
Lorsque vous exécutez :ClickHouse effectue deux opérations :ClickHouse n’effectue qu’une seule opération :
- Il utilise l’index pour trouver quelles granules (blocs d’environ 8192 lignes) peuvent contenir
key = 123 - Il lit ces granules et les filtre ligne par ligne pour ne renvoyer que les lignes où
key = 123
indexHint, lorsque vous exécutez :- Il utilise l’index pour trouver quelles granules peuvent contenir key = 123 et renvoie toutes les lignes de ces granules sans les filtrer.
key = 456, key = 789, etc. (Autrement dit, tout ce qui se trouvait stocké dans la même granule.)
indexHint() n’est pas fait pour améliorer les performances. Il sert au débogage et à comprendre comment fonctionne l’index de ClickHouse :- Quelles granules ma condition sélectionne-t-elle ?
- Combien de lignes y a-t-il dans ces granules ?
- Mon index est-il utilisé efficacement ?
indexHint. La fonction indexHint n’optimise pas la requête, car elle ne fournit aucune information supplémentaire pour l’analyse de la requête. Mettre une expression à l’intérieur de la fonction indexHint n’est en aucun cas préférable à ne pas utiliser la fonction indexHint. La fonction indexHint ne peut être utilisée qu’à des fins d’introspection et de débogage, et n’améliore pas les performances. Si vous voyez indexHint utilisé par quelqu’un d’autre que les contributeurs de ClickHouse, il s’agit probablement d’une erreur et vous devriez le supprimer.
Syntaxe
expression— Toute expression utilisée pour la sélection de plages d’index.Expression
1 dans tous les cas. UInt8
Exemples
Exemple d’utilisation avec filtrage sur la date
Query
Response
initialQueryID
initial_query_id de system.query_log.
Contrairement à la fonction queryID, initialQueryID renvoie les mêmes résultats sur différents shards.
Syntaxe
initial_query_id
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
initialQueryStartTime
initialQueryStartTime renvoie les mêmes résultats sur différents shards.
Syntaxe
initial_query_start_time
Arguments
- Aucun.
DateTime
Exemples
Exemple d’utilisation
Query
Response
initializeAggregation
AggregateFunction, ou utiliser des agrégats initialisés comme valeurs par défaut.
Syntaxe
aggregate_function— Nom de la fonction d’agrégation à initialiser.Stringarg1[, arg2, ...]— Arguments de la fonction d’agrégation.Any
initializeAggregation prend le premier argument. Any
Exemples
Utilisation de base avec uniqState
Query
Response
Query
Response
isConstant
x— Une expression à vérifier.Any
1 si x est constante, 0 si x ne l’est pas. UInt8
Exemples
Expression constante
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
value— Valeur Decimal à vérifier.Decimalprecision— Facultatif. Précision du type Decimal. Si elle est omise, la précision initiale du premier argument est utilisée.UInt8
1 si la valeur décimale comporte plus de chiffres que n’en autorise sa précision, 0 si la valeur décimale respecte la précision spécifiée. UInt8
Exemples
Exemple d’utilisation
Query
Response
joinGet
Prend uniquement en charge les tables créées avec l’
ENGINE = Join(ANY, LEFT, <join_keys>) instruction.join_storage_table_name— Un identifiant qui indique où rechercher. L’identifiant est recherché dans la base de donnéesdefault(voir le paramètredefault_databasedans le fichier de configuration). Pour remplacer la base de données par défaut, utilisez la requêteUSE database_nameou précisez la base de données et la table en les séparant par un point, commedatabase_name.table_name.Stringvalue_column— Le nom de la colonne de la table qui contient les données requises.const Stringjoin_keys— Une liste de clés de jointure.Any
Any
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
joinGetOrNull
joinGet, renvoie NULL lorsque la clé est absente.
Prend uniquement en charge les tables créées avec l’instruction
ENGINE = Join(ANY, LEFT, <join_keys>).join_storage_table_name— Un identifiant qui indique où effectuer la recherche. L’identifiant est recherché dans la base de donnéesdefault(voir le paramètre default_database dans le fichier de configuration). Pour remplacer la base de données par défaut, utilisez la requêteUSE database_nameou indiquez la base de données et la table en les séparant par un point, commedatabase_name.table_name.Stringvalue_column— Le nom de la colonne de la table qui contient les données requises.const Stringjoin_keys— Une liste de clés de jointure.Any
NULL si une clé est introuvable. Any
Exemples
Exemple d’utilisation
Query
Response
lowCardinalityIndices
col— Une colonne à faible cardinalité.LowCardinality
UInt64
Exemples
Exemples d’utilisation
Query
Response
lowCardinalityKeys
col— Une colonne à faible cardinalité.LowCardinality
UInt64
Exemples
lowCardinalityKeys
Query
Response
materialize
x— Une constante.Any
Any
Exemples
Exemple d’utilisation
Query
Response
minSampleSizeContinuous
minSampleSizeContinous
Arguments
baseline— Valeur de référence d’une métrique.(U)Int*ouFloat*sigma— Écart type de référence d’une métrique.(U)Int*ouFloat*mde— Effet minimal détectable (MDE) en pourcentage de la valeur de référence (par ex. pour une valeur de référence de 112.25, un MDE de 0.03 correspond à une variation attendue de 112.25 ± 112.25*0.03).(U)Int*ouFloat*power— Puissance statistique requise d’un test (1 - probabilité d’une erreur de type II).(U)Int*ouFloat*alpha— Niveau de signification requis d’un test (probabilité d’une erreur de type I).(U)Int*ouFloat*
minimum_sample_size, detect_range_lower et detect_range_upper. Il s’agit respectivement de la taille d’échantillon requise, de la borne inférieure de la plage de valeurs non détectables avec la taille d’échantillon requise renvoyée, calculée comme baseline * (1 - mde), et de la borne supérieure de la plage de valeurs non détectables avec la taille d’échantillon requise renvoyée, calculée comme baseline * (1 + mde) (Float64). Tuple(Float64, Float64, Float64)
Exemples
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
baseline— Conversion de référence.Float*mde— Effet minimal détectable (MDE), exprimé en points de pourcentage (par ex., pour une conversion de référence de 0.25, un MDE de 0.03 correspond à une variation attendue vers 0.25 ± 0.03).Float*power— Puissance statistique requise pour un test (1 - probabilité d’erreur de type II).Float*alpha— Niveau de signification requis pour un test (probabilité d’erreur de type I).Float*
minimum_sample_size, detect_range_lower, detect_range_upper. Il s’agit, respectivement, de la taille d’échantillon requise, de la borne inférieure de la plage de valeurs non détectables avec la taille d’échantillon requise renvoyée, calculée comme baseline - mde, et de la borne supérieure de la plage de valeurs non détectables avec la taille d’échantillon requise renvoyée, calculée comme baseline + mde. Tuple(Float64, Float64, Float64)
Exemples
minSampleSizeConversion
Query
Response
neighbor
allow_deprecated_error_prone_window_functions = 1.
Syntaxe
column— La colonne source.Anyoffset— Le décalage par rapport à la ligne actuelle. Les valeurs positives portent vers l’avant, les valeurs négatives vers l’arrière.Integerdefault_value— Facultatif. Valeur à renvoyer si le décalage dépasse les limites des données. Si elle n’est pas spécifiée, la valeur par défaut du type de colonne est utilisée.Any
Any
Exemples
Exemple d’utilisation
Query
Response
Query
Response
normalizeQuery
?.
Syntaxe
x— Séquence de caractères.String
String
Exemples
Exemple d’utilisation
Query
Response
normalizeQueryKeepNames
?, mais ne remplace pas les alias complexes (contenant des espaces, plus de deux chiffres ou d’une longueur d’au moins 36 octets, comme les UUIDs).
Cela permet de mieux analyser les journaux de requêtes complexes.
Syntaxe
x— Séquence de caractères.String
String
Exemples
Exemple d’utilisation
Query
Response
normalizedQueryHash
x— Suite de caractères.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash, elle renvoie des valeurs de hachage 64 bits identiques pour des requêtes similaires, sans les valeurs des littéraux, mais ne remplace pas les alias complexes (contenant des espaces, plus de deux chiffres ou d’une longueur d’au moins 36 octets, comme les UUID) par un caractère de substitution avant le hachage.
Peut être utile pour analyser les journaux de requêtes.
Syntaxe
x— Séquence de caractères.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
obfuscateQuery
tag empêche l’élimination des sous-expressions communes lorsque le même appel de fonction
est utilisé plusieurs fois dans une requête. Cela garantit que chaque appel produit un résultat masqué différent.
Fonctionnalités :
- Remplace les noms de table, les noms de colonnes et les alias par des mots aléatoires
- Remplace les littéraux numériques et textuels par des valeurs aléatoires
- Préserve la structure globale de la requête et la syntaxe SQL
- Produit des résultats différents pour des lignes différentes
query— La requête SQL à obfusquer.Stringtag— Facultatif. Une valeur permettant d’éviter l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois.
String
Exemples
Utilisation de base
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
obfuscateQuery(), cette fonction produit des résultats déterministes lorsqu’elle reçoit la même seed.
Cela est utile lorsque vous avez besoin d’une obfuscation constante sur plusieurs exécutions, ou lorsque vous souhaitez
reproduire la même requête obfusquée à des fins de test ou de débogage.
Fonctionnalités :
- Obfuscation déterministe basée sur la seed fournie
- La même seed produit toujours le même résultat obfusqué
- Des seeds différentes produisent des résultats différents
- Préserve la structure de la requête, comme
obfuscateQuery()
- Cas de test reproductibles
- Anonymisation constante sur plusieurs exécutions
- Débogage avec des requêtes obfusquées cohérentes
query— La requête SQL à obfusquer.Stringseed— La valeur d’initialisation pour l’obfuscation. La même valeur d’initialisation produit des résultats déterministes.IntegerouString
String
Exemples
Obfuscation déterministe avec une valeur d’initialisation entière
Query
Response
Query
Response
Query
Response
parseReadableSize
B, KiB, KB, MiB, MB, etc. comme unité (c.-à-d. ISO/IEC 80000-13 ou unité décimale d’octets), cette fonction renvoie le nombre d’octets correspondant.
Si la fonction ne parvient pas à analyser la valeur d’entrée, elle lève une exception.
Les opérations inverses de cette fonction sont formatReadableSize et formatReadableDecimalSize.
Syntaxe
x— Taille dans un format lisible avec ISO/IEC 80000-13 ou une unité décimale d’octets.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
parseReadableSizeOrNull
B, KiB, KB, MiB, MB, etc. comme unité (c.-à-d. ISO/IEC 80000-13 ou une unité d’octets décimale), cette fonction renvoie le nombre d’octets correspondant.
Si la fonction ne parvient pas à analyser la valeur d’entrée, elle renvoie NULL.
Les opérations inverses de cette fonction sont formatReadableSize et formatReadableDecimalSize.
Syntaxe
x— Taille en format lisible avec ISO/IEC 80000-13 ou une unité d’octets décimale.String
NULL si l’entrée ne peut pas être interprétée Nullable(UInt64)
Exemples
Exemple d’utilisation
Query
Response
parseReadableSizeOrZero
B, KiB, KB, MiB, MB, etc. comme unité (c.-à-d. ISO/IEC 80000-13 ou unité d’octets décimale), cette fonction renvoie le nombre d’octets correspondant.
Si la fonction ne parvient pas à analyser la valeur d’entrée, elle renvoie 0.
Les opérations inverses de cette fonction sont formatReadableSize et formatReadableDecimalSize.
Syntaxe
x— Taille lisible avec une unité de taille ISO/IEC 80000-13 ou une unité de taille décimale.String
0 s’il est impossible d’analyser l’entrée. UInt64
Exemples
Exemple d’utilisation
Query
Response
parseTimeDelta
years,year,yr,ymonths,month,moweeks,week,wdays,day,dhours,hour,hr,hminutes,minute,min,mseconds,second,sec,smilliseconds,millisecond,millisec,msmicroseconds,microsecond,microsec,μs,µs,usnanoseconds,nanosecond,nanosec,ns
;, -, +, ,, :).
La durée des années et des mois est approximative : une année correspond à 365 jours et un mois à 30,5 jours.
Syntaxe
timestr— Une suite de nombres suivie d’un élément ressemblant à une unité de temps.String
Float64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
partitionId
Cette fonction est lente et ne doit pas être utilisée sur un grand nombre de lignes.
partitionID
Arguments
column1, column2, ...— Colonne pour laquelle l’identifiant de partition doit être renvoyé.
String
Exemples
Exemple d’utilisation
Query
Response
queryID
query_id de la table system.query_log.
Contrairement à la fonction initialQueryID, queryID peut renvoyer des résultats différents selon les shards.
Syntaxe
query_id
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
revision
- Aucun.
UInt32
Exemples
Exemple d’utilisation
Query
Response
rowNumberInAllBlocks
- Aucun.
0. UInt64
Exemples
Exemple d’utilisation
Query
Response
rowNumberInBlock
rowNumberInBlock, renvoie le numéro de la ligne courante.
Le numéro renvoyé commence à 0 pour chaque bloc.
Syntaxe
- Aucun.
0. UInt64
Exemples
Exemple d’utilisation
Query
Response
runningAccumulate
agg_state— État de la fonction d’agrégation.AggregateFunctiongrouping— Facultatif. Clé de regroupement. L’état de la fonction est réinitialisé si la valeur degroupingchange. Il peut s’agir de n’importe quel type de données pris en charge pour lequel l’opérateur d’égalité est défini.Any
Any
Exemples
Exemple d’utilisation avec initializeAggregation
Query
Response
runningConcurrency
start— Colonne contenant l’horodatage de début des événements.DateouDateTimeouDateTime64end— Colonne contenant l’horodatage de fin des événements.DateouDateTimeouDateTime64
UInt32
Exemples
Exemple d’utilisation
Query
Response
runningDifference
0 pour la première ligne, puis, pour les lignes suivantes, la différence par rapport à la ligne précédente.
Le résultat de la fonction dépend des blocs de données concernés et de l’ordre des données dans le bloc.
L’ordre des lignes lors du calcul de runningDifference() peut différer de l’ordre des lignes renvoyées à l’utilisateur.
Pour éviter cela, vous pouvez créer une sous-requête avec ORDER BY et appeler la fonction en dehors de la sous-requête.
Veuillez noter que la taille du bloc influe sur le résultat.
L’état interne de runningDifference est réinitialisé pour chaque nouveau bloc.
Syntaxe
x— Colonne pour laquelle calculer la différence entre valeurs consécutives.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference, cette fonction renvoie la valeur réelle de la première ligne au lieu de 0.
Syntaxe
x— Colonne pour laquelle calculer la différence entre valeurs consécutives.Any
Any
Exemples
Exemple d’utilisation
Query
Response
serverUUID
- Aucun.
UUID
Exemples
Exemple d’utilisation
Query
Response
0 est renvoyée.
Syntaxe
- Aucun.
0. UInt32
Exemples
Exemple d’utilisation
Query
Response
1.
Si une requête n’est pas distribuée, la valeur constante 0 est renvoyée.
Syntaxe
- Aucun.
0. UInt32
Exemples
Exemple d’utilisation
Query
Response
showCertificate
- Aucun.
Map(String, String)
Exemples
Exemple d’utilisation
Query
Response
sleep
sleep() ne doit généralement pas être utilisée dans des environnements de production, car elle peut nuire aux performances des requêtes et à la réactivité du système.
Cependant, elle peut s’avérer utile dans les scénarios suivants :
- Test : lors de tests ou de benchmarking de ClickHouse, vous pouvez vouloir simuler des délais ou introduire des pauses afin d’observer comment le système se comporte dans certaines conditions.
- Débogage : si vous devez examiner l’état du système ou l’exécution d’une requête à un moment précis, vous pouvez utiliser
sleep()pour introduire une pause, ce qui vous permet d’inspecter ou de collecter des informations pertinentes. - Simulation : dans certains cas, vous pouvez vouloir simuler des situations réelles où des délais ou des pauses se produisent, comme la latence réseau ou des dépendances à des systèmes externes.
allow_sleep activé).
Syntaxe
seconds— Le nombre de secondes pendant lequel suspendre l’exécution de la requête, dans la limite de 3 secondes. Il peut s’agir d’une valeur à virgule flottante pour spécifier des fractions de seconde.const UInt*ouconst Float*
0. UInt8
Exemples
Exemple d’utilisation
Query
Response
sleepEachRow
sleepEachRow() est principalement utilisée à des fins de test et de débogage, à l’instar de la fonction sleep().
Elle permet de simuler des délais ou d’introduire des pauses dans le traitement de chaque ligne, ce qui peut être utile dans des scénarios tels que :
- Test : lors de tests ou de benchmarks de performance de ClickHouse dans des conditions spécifiques, vous pouvez utiliser
sleepEachRow()pour simuler des délais ou introduire des pauses pour chaque ligne traitée. - Débogage : si vous devez examiner l’état du système ou l’exécution d’une requête pour chaque ligne traitée, vous pouvez utiliser
sleepEachRow()pour introduire des pauses et ainsi inspecter le système ou recueillir les informations pertinentes. - Simulation : dans certains cas, vous pouvez vouloir reproduire des scénarios réels dans lesquels des délais ou des pauses surviennent pour chaque ligne traitée, par exemple lors d’interactions avec des systèmes externes ou en présence de latences réseau.
seconds— Le nombre de secondes pendant lequel l’exécution de la requête est mise en pause pour chaque ligne du jeu de résultats, avec un maximum de 3 secondes. Il peut s’agir d’une valeur à virgule flottante pour spécifier des fractions de seconde.const UInt*ouconst Float*
0 pour chaque ligne. UInt8
Exemples
Exemple d’utilisation
Query
Response
structureToCapnProtoSchema
- Aucun.
Query
Response
structureToProtobufSchema
structure— Définition de la structure d’une table ClickHouse sous forme de chaîne de caractères (par ex. ‘column1 Type1, column2 Type2’).Stringmessage_name— Nom du type de message Protobuf dans le schéma généré.String
String
Exemples
Conversion d’une structure ClickHouse en schéma Protobuf
Query
Response
tcpPort
- Aucun.
UInt16
Exemples
Exemple d’utilisation
Query
Response
throwIf
error_code, le paramètre de configuration allow_custom_error_code_in_throw doit être activé.
Syntaxe
x— La condition à vérifier.Anymessage— Facultatif. Message d’erreur personnalisé.const Stringerror_code— Facultatif. Code d’erreur personnalisé.const Int8/16/32
0 si la condition est false, et lève une exception si la condition est true. UInt8
Exemples
Exemple d’utilisation
Query
Response
toColumnTypeName
toTypeName, le type de données renvoyé peut inclure des colonnes d’encapsulation internes telles que Const et LowCardinality.
Syntaxe
value— Valeur pour laquelle renvoyer le type de données interne.Any
String
Exemples
Exemple d’utilisation
Query
Response
toTypeName
NULL est passé, la fonction renvoie le type Nullable(Nothing), qui correspond à la représentation interne de NULL dans ClickHouse.
Syntaxe
x— Une valeur de type arbitraire.Any
String
Exemples
Exemple d’utilisation
Query
Response
tokenizeQuery
query— Une chaîne de requête en ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)) représentant les jetons de la requête. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Exemples
simple
Query
Response
transactionID
Cette fonction fait partie d’un ensemble de fonctionnalités expérimentales.
Activez la prise en charge expérimentale des transactions en ajoutant ce paramètre à votre configuration :Pour plus d’informations, consultez la page Prise en charge des transactions (ACID).
- Aucun.
start_csn, local_tid et host_id.
start_csn: Numéro séquentiel global, correspondant au timestamp de commit le plus récent observé au moment où cette transaction a commencé.local_tid: Numéro séquentiel local, unique pour chaque transaction lancée par cet hôte pour unstart_csndonné.host_id: UUID de l’hôte qui a lancé cette transaction.Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
Cette fonction fait partie d’un ensemble de fonctionnalités expérimentales. Activez la prise en charge expérimentale des transactions en ajoutant ce paramètre à votre configuration :Pour plus d’informations, consultez la page Prise en charge des transactions (ACID).
- Aucun.
UInt64
Exemples
Exemple d’utilisation
Query
Response
transactionOldestSnapshot
Cette fonction fait partie d’un ensemble de fonctionnalités expérimentales. Activez la prise en charge expérimentale des transactions en ajoutant ce paramètre à votre configuration :Pour plus d’informations, consultez la page Prise en charge des transactions (ACID).
- Aucun.
UInt64
Exemples
Exemple d’utilisation
Query
Response
transform
transform(x, array_from, array_to, default)- transformexà l’aide de tableaux de correspondance, avec une valeur par défaut pour les éléments sans correspondancetransform(x, array_from, array_to)- même transformation, mais renvoie la valeur d’origine dexsi aucune correspondance n’est trouvée
x dans array_from et renvoie l’élément correspondant de array_to au même indice.
Si x n’est pas trouvé dans array_from, elle renvoie soit la valeur default (version à 4 paramètres), soit la valeur d’origine de x (version à 3 paramètres).
Si plusieurs éléments correspondants existent dans array_from, elle renvoie l’élément associé à la première correspondance.
Exigences :
array_frometarray_todoivent contenir le même nombre d’éléments- Pour la version à 4 paramètres :
transform(T, Array(T), Array(U), U) -> UoùTetUpeuvent être des types compatibles différents - Pour la version à 3 paramètres :
transform(T, Array(T), Array(T)) -> Toù tous les types doivent être identiques
x— Valeur à transformer.(U)Int*ouDecimalouFloat*ouStringouDateouDateTimearray_from— Tableau constant de valeurs dans lequel rechercher des correspondances.Array((U)Int*)ouArray(Decimal)ouArray(Float*)ouArray(String)ouArray(Date)ouArray(DateTime)array_to— Tableau constant de valeurs à renvoyer pour les correspondances dansarray_from.Array((U)Int*)ouArray(Decimal)ouArray(Float*)ouArray(String)ouArray(Date)ouArray(DateTime)default— Facultatif. Valeur à renvoyer sixn’est pas trouvé dansarray_from. S’il est omis, renvoiexinchangé.(U)Int*ouDecimalouFloat*ouStringouDateouDateTime
array_to si x correspond à un élément de array_from, sinon renvoie default (s’il est fourni) ou x (si default n’est pas fourni). Any
Exemples
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
uniqThetaSketch— objet uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemples
Exemple d’utilisation
Query
Response
uniqThetaNot
uniqThetaSketch— objet uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemples
Exemple d’utilisation
Query
Response
uniqThetaUnion
uniqThetaSketch— objet uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemples
Exemple d’utilisation
Query
Response
durée de fonctionnement
- Aucun.
UInt32
Exemples
Exemple d’utilisation
Query
Response
variantElement
Variant une colonne du type spécifié.
Syntaxe
variant— Colonne Variant.Varianttype_name— Le nom du type de variante à extraire.Stringdefault_value— La valeur par défaut utilisée si le variant ne contient pas de variante du type spécifié. Peut être de n’importe quel type. Facultatif.Any
Any
Exemples
Exemple d’utilisation
Query
Response
variantType
Variant. Si une ligne contient NULL, la fonction renvoie ‘None’.
Syntaxe
variant— colonne Variant.Variant
Enum
Exemples
Exemple d’utilisation
Query
Response
version
major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release.
Si elle est exécutée dans le contexte d’une table distribuée, cette fonction génère une colonne normale avec des valeurs propres à chaque shard.
Sinon, elle renvoie une valeur constante.
Syntaxe
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
visibleWidth
NULL est représenté sous la forme d’une chaîne correspondant à NULL dans les formats Pretty.
Syntaxe
x— Une valeur de n’importe quel type de données.Any
UInt64
Exemples
Calcul de la largeur visible de NULL
Query
Response
zookeeperSessionUptime
- Aucun.
UInt32
Exemples
Exemple d’utilisation
Query
Response