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

Tuple(T1, T2, ...)

一个元组由多个元素组成,每个元素都有其单独的 类型。元组必须至少包含一个元素。

元组用于临时列分组。在查询中使用 IN 表达式时,可以对列进行分组,并用于指定某些 lambda 函数的正式参数。有关更多信息,请参见 IN 操作符高阶函数 部分。

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

创建元组

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

创建元组的示例:

一个元组可以包含单个元素

示例:

语法 (tuple_element1, tuple_element2) 可用于在不调用 tuple() 函数的情况下创建多个元素的元组。

示例:

数据类型检测

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

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

引用元组元素

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

结果:

与元组的比较操作

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

示例:

现实生活中的示例: