Databricks SQL lambda功能

可以傳遞給函數以控製其行為的參數化表達式。

例如,array_sort函數(databricks sql)接受lambda函數作為定義自定義排序順序的參數。

句法

{參數- >Expr|((參數1[,,...這是給予的- >Expr}

參數

  • 參數: 一個標識符由父函數用於傳遞lambda函數的參數。

  • Expr:任何簡單的表達參考參數,不包含子查詢。

返回

結果類型由結果類型定義Expr

如果有多個參數,參數名稱必須是唯一的。參數的類型由調用函數設置。這表達必須對這些類型有效,結果類型必須與調用功能的定義期望匹配。

例子

array_sort函數(databricks sql)功能期望具有兩個參數的lambda函數。參數類型將是要排序的數組元素的類型。預計該表達式將返回一個整數,其中-1表示參數1<參數2,0表示參數1=參數2,否則1。

要對右至左詞彙順序的字符串數組進行排序,您可以使用以下lambda函數。

((P1,,,,P2- >案子什麼時候P1=P2然後0什麼時候撤銷((P1<撤銷((P2然後-1別的1結尾

lambda函數被定義並使用。因此,函數定義是參數:

>選擇array_sort((大批(('你好',,,,'世界'),((P1,,,,P2- >案子什麼時候P1=P2然後0什麼時候撤銷((P1<撤銷((P2然後-1別的1結尾);[[世界,,,,你好這是給予的