Lambda函数

适用于:勾选“是”砖的SQL勾选“是”砖运行时

可传递给函数以控制其行为的参数化表达式。

例如,array_sort函数接受lambda函数作为参数来定义自定义排序顺序。

语法

参数->expr|param1(,...->expr

参数

  • paramN:一个标识符父函数用于为lambda函数传递参数。

  • expr:任何引用的简单表达式paramN,其中不包含子查询。

返回

的结果类型定义了结果类型expr

如果有不止一个paramN时,参数名称不能重复。参数的类型由调用函数设置。的表达式必须对这些类型有效,并且结果类型必须匹配调用函数所定义的期望。

例子

array_sort函数函数需要一个带有两个形参的lambda函数。形参类型将是要排序的数组元素的类型。表达式将返回一个INTEGER,其中-1表示param1<param2, 0表示param1param2,否则为1。

要按从右到左的词法顺序对STRING的ARRAY排序,可以使用以下lambda函数。

p1p2->情况下p1p2然后0反向p1<反向p2然后-1其他的1结束

Lambda函数是临时定义和使用的。函数定义就是参数:

>选择array_sort数组“你好”“世界”),p1p2->情况下p1p2然后0反向p1<反向p2然后-1其他的1结束);世界你好