Tuple(T1, T2, ...)
一个元素的元组,每个元素都有一个单独的 type。 元组必须包含至少一个元素。
元组用于临时列分组。当查询中使用 IN 表达式时,可以对列进行分组,并用于指定 lambda 函数的某些形式参数。有关更多信息,请参见 IN operators 和 Higher order functions 部分。
元组可以是查询的结果。在这种情况下,对于 JSON 以外的文本格式,值在括号中以逗号分隔。在 JSON 格式中,元组作为数组输出(在方括号中)。
创建元组
您可以使用函数来创建一个元组:
创建元组的示例:
元组可以包含单个元素
示例:
语法 (tuple_element1, tuple_element2)
可用于创建一个包含多个元素的元组,而无需调用 tuple()
函数。
示例:
数据类型检测
在动态创建元组时,ClickHouse 会推断元组参数的类型为能够容纳提供的参数值的最小类型。如果值为 NULL,则推断的类型为 Nullable。
自动数据类型检测的示例:
引用元组元素
元组元素可以通过名称或索引进行引用:
结果:
与元组的比较操作
两个元组通过从左到右顺序比较其元素进行比较。如果第一个元组的元素大于(小于)第二个元组的相应元素,则第一个元组大于(小于)第二个元组;否则(两个元素相等),比较下一个元素。
示例:
现实世界示例: