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結束);世界你好