Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Databricks SQL
Databricks Runtime
Espressione con parametri che può essere passata a una funzione per controllarne il comportamento.
Ad esempio, array_sort funzione accetta una funzione lambda come argomento per definire un ordinamento personalizzato.
Sintassi
{ param -> expr |
(param1 [, ...] ) -> expr }
Parametri
-
paramN
: un identificatore utilizzato dalla funzione genitore per trasmettere argomenti alla funzione lambda. -
expr
: Qualsiasi espressione semplice che fa riferimento aparamN
, che non contiene una sottoquery o una funzione definita dall'utente SQL.
Restituzioni
Il tipo di risultato è definito dal tipo di risultato di expr
.
Se sono presenti più di un paramN
oggetto , i nomi dei parametri devono essere univoci. I tipi dei parametri vengono impostati dalla funzione di richiamo.
Deve expression
essere valido per questi tipi e il tipo di risultato deve corrispondere alle aspettative definite delle funzioni di richiamo.
Esempi
La funzione array_sort funzione prevede una funzione lambda con due parametri.
I tipi di parametro saranno il tipo degli elementi della matrice da ordinare.
L'espressione deve restituire un valore INTEGER in cui -1 significa param1
<param2
, 0 indica param1
= param2
e 1 in caso contrario.
Per ordinare una MATRICE di STRING in un ordine lessicale da destra a sinistra, è possibile usare la funzione lambda seguente.
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END
Le funzioni lambda vengono definite e usate ad hoc. La definizione della funzione è dunque l'argomento.
> SELECT array_sort(array('Hello', 'World'),
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END);
[World, Hello]