Lambda函數
適用於:磚的SQL磚運行時
可傳遞給函數以控製其行為的參數化表達式。
例如,array_sort函數接受lambda函數作為參數來定義自定義排序順序。
參數
paramN
:一個標識符父函數用於為lambda函數傳遞參數。expr
:任何引用的簡單表達式paramN
,其中不包含子查詢。
例子
的array_sort函數函數需要一個帶有兩個形參的lambda函數。形參類型將是要排序的數組元素的類型。表達式將返回一個INTEGER,其中-1表示param1
<param2
, 0表示param1
=param2
,否則為1。
要按從右到左的詞法順序對STRING的ARRAY排序,可以使用以下lambda函數。
(p1,p2)->情況下當p1=p2然後0當反向(p1)<反向(p2)然後-1其他的1結束
Lambda函數是臨時定義和使用的。函數定義就是參數:
>選擇array_sort(數組(“你好”,“世界”),(p1,p2)->情況下當p1=p2然後0當反向(p1)<反向(p2)然後-1其他的1結束);[世界,你好]