array_filter_map

功能描述

对数组中的元素应用 lambda 表达式,返回一个新数组。函数会为数组中的每个元素应用 lambda 表达式,返回对应的结果。

语法

array_map_doris(lambda, ARRAY<T> arr1, [ARRAY<T> arr2, ...])

参数说明

  • lambda:lambda 表达式,用于定义转换规则
  • arr1, arr2, ...:ARRAY 类型,要转换的数组。支持一个或多个数组参数。

返回结果

返回类型:ARRAY

返回值含义:

  • 返回一个与输入数组等长的新数组,每个位置的值为对应元素应用 lambda 表达式后的结果
  • NULL:如果输入数组为 NULL

使用说明:

  • lambda 表达式中参数个数需与数组参数个数一致
  • 当有多个数组参数时,所有数组的长度必须一致
  • lambda 可以用任意标量表达式,不能用聚合函数
  • lambda 表达式可以调用其他高阶函数,但需要返回类型兼容
  • 对数组元素中的 null 值:null 元素会传递给 lambda 表达式处理,lambda 可以判断 null 值

使用示例

  • 对数组中的每个元素进行平方运算
SELECT array_map_doris(x -> x * x, [1, 2, 3, 4, 5]);

  • 对浮点数数组中的每个元素进行四舍五入
SELECT array_map_doris(x -> round(x), [1.1, 2.7, 3.3, 4.9, 5.5]);

联系我们
预约咨询
微信咨询
电话咨询