unnest
功能
UNNEST 是一种表函数 (table function),用于将一个数组展开成多行。
您可以将 StarRocks 的 Lateral Join 与 UNNEST 功能结合使用,实现常见的列转行逻辑,比如展开 STRING,ARRAY,和 BITMAP 类型的数据。更多使用示例,参见 Lateral join。
从 2.5 版本开始,UNNEST 支持传入多个 array 参数,并且多个 array 的元素类型和长度(元素个数)可以不同。对于长度不同的情况,以最长数组的长度为基准,长度小于这个长度的数组使用 NULL 进行元素补充,参见 示例二。
从 3.2.7 版本开始,UNNEST 支持 LEFT JOIN ON TRUE,会保留左表中的所有行,即使右表的表达式没有返回任何行,会对右表相应的行用空值填充。参见 示例三。
语法
unnest(array0[, array1 ...])
参数说明
array
:待转换的数组或者能转化成数组的表达式,必填。
返回值说明
返回数组展开后的多行数据。返回值的数据类型取决于数组中的元素类型。
有关 StarRocks 支持的数组元素类型,请参见 ARRAY。