You need to enable JavaScript to run this app.
日志服务

日志服务

复制全文
SQL 函数
Lambda 表达式
复制全文
Lambda 表达式

日志服务允许您在 SQL 分析语句中定义 Lambda 表达式,并将其传递给指定函数,从而增强函数的功能。本文将介绍 Lambda 表达式的基本语法及示例。

语法

说明

Lambda 表达式需与 SQL 函数结合使用,例如 FILTER 函数REDUCE 函数TRANSFORM 函数MAP_FILTER 函数等。

parameter -> expression

参数

说明

parameter

输入参数,可以添加多个参数,使用英文逗号(,)分隔。

expression

对输入参数进行操作的表达式。

x -> x - 2
x -> x > 0
(x, y) -> x + y
x -> try_cast(x AS JSON)
x -> regexp_like(x, '\d+')
x -> if(x > 1, 'y', 'z')

示例

  • 示例1:Lambda 表达式 x -> x > 0
    • 场景
      结合 FILTER 函数和 Lambda 表达式 x -> x > 0,返回数组 [11,-3,null,9,-8] 中大于 0 的元素。

    • 检索与分析语句

      * | SELECT FILTER(array[11,-3,null,9,-8],x -> x > 0)
      
    • 检索与分析结果
      Image

  • 示例2:Lambda 表达式 x -> x * 2
    • 场景
      结合 TRANSFORM 函数和 Lambda 表达式 x -> x * 2,将数组 [99,87,16,43,25]中的各个元素乘以 2,然后返回计算结果。

    • 检索与分析语句

      * | SELECT TRANSFORM(array[99,87,16,43,25],x -> x * 2) LIMIT 1
      
    • 检索与分析结果
      Image

  • 示例3:Lambda 表达式 x -> regexp_like(x, '\d+')
    • 场景
      结合 TRANSFORM 函数和 Lambda 表达式 x -> regexp_like(x, '\d+'),判断 ['region','010','name'] 数组中的各个元素是否包含数字,并返回判断结果。

    • 检索与分析语句

      * | SELECT TRANSFORM(array['region','010','name'],x -> regexp_like(x, '\d+')) LIMIT 1
      
    • 检索与分析结果
      Image

最近更新时间:2025.08.19 10:54:30
这个页面对您有帮助吗?
有用
有用
无用
无用