Un tuple d’éléments, chacun ayant son propre type. Un tuple doit contenir au moins un élément.
Les tuples sont utilisés pour le regroupement temporaire de colonnes. Les colonnes peuvent être regroupées lorsqu’une expression IN est utilisée dans une requête, ainsi que pour spécifier certains paramètres formels des fonctions lambda. Pour plus d’informations, consultez les sections opérateurs IN et fonctions d’ordre supérieur.
Les tuples peuvent être le résultat d’une requête. Dans ce cas, pour les formats texte autres que JSON, les valeurs sont séparées par des virgules dans (). Dans les formats JSON, les tuples sont renvoyés sous forme de tableaux (dans []).
Vous pouvez utiliser une fonction pour créer un tuple :
Exemple de création d’un tuple :
Un Tuple peut contenir un seul élément
Exemple :
La syntaxe (tuple_element1, tuple_element2) peut être utilisée pour créer un tuple comportant plusieurs éléments sans appeler la fonction tuple().
Exemple :
Détection du type de données
Lors de la création de tuples à la volée, ClickHouse déduit le type des arguments du tuple en choisissant les types les plus petits capables de contenir la valeur fournie. Si la valeur est NULL, le type déduit est Nullable.
Exemple de détection automatique du type de données :
Référence aux éléments d’un Tuple
On peut faire référence aux éléments d’un Tuple par leur nom ou leur indice :
Opérations de comparaison avec Tuple
Deux tuples sont comparés en examinant successivement leurs éléments de gauche à droite. Si le premier élément du premier tuple est supérieur (inférieur) à l’élément correspondant du second tuple, alors le premier tuple est supérieur (inférieur) au second ; sinon (si les deux éléments sont égaux), on compare l’élément suivant.
Exemple :
Exemples concrets :
Nullable(Tuple(T1, T2, …))
Fonctionnalité bêtaNécessite SET enable_nullable_tuple_type = 1
Il s’agit d’une fonctionnalité bêta.
Permet au tuple dans son ensemble d’être NULL, contrairement à Tuple(Nullable(T1), Nullable(T2), ...), où seuls les éléments individuels peuvent être NULL.
Exemple :