跳到主要内容
跳到主要内容

Tuple(T1, T2, ...)

一个元素的元组,每个元素都有一个单独的 type。 元组必须包含至少一个元素。

元组用于临时列分组。当查询中使用 IN 表达式时,可以对列进行分组,并用于指定 lambda 函数的某些形式参数。有关更多信息,请参见 IN operatorsHigher order functions 部分。

元组可以是查询的结果。在这种情况下,对于 JSON 以外的文本格式,值在括号中以逗号分隔。在 JSON 格式中,元组作为数组输出(在方括号中)。

创建元组

您可以使用函数来创建一个元组:

创建元组的示例:

元组可以包含单个元素

示例:

语法 (tuple_element1, tuple_element2) 可用于创建一个包含多个元素的元组,而无需调用 tuple() 函数。

示例:

数据类型检测

在动态创建元组时,ClickHouse 会推断元组参数的类型为能够容纳提供的参数值的最小类型。如果值为 NULL,则推断的类型为 Nullable

自动数据类型检测的示例:

引用元组元素

元组元素可以通过名称或索引进行引用:

结果:

与元组的比较操作

两个元组通过从左到右顺序比较其元素进行比较。如果第一个元组的元素大于(小于)第二个元组的相应元素,则第一个元组大于(小于)第二个元组;否则(两个元素相等),比较下一个元素。

示例:

现实世界示例: