Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Databricks SQL
Databricks Runtime
Uma expressão parametrizada que pode ser passada para uma função para controlar seu comportamento.
Por exemplo, aarray_sort função aceita uma função lambda como argumento para definir uma ordem de ordenação personalizada.
Sintaxe
{ param -> expr |
(param1 [, ...] ) -> expr }
Parâmetros
-
paramN: Um identificador de usado pela função pai para passar argumentos para a função lambda. -
expr: Qualquer expressão simples que faça referência aparamN, que não contenha uma subconsulta ou uma função SQL definida pelo utilizador.
Devoluções
O tipo de resultado é definido pelo tipo de resultado de expr.
Se houver mais de um paramN, os nomes dos parâmetros devem ser exclusivos. Os tipos de parâmetros são definidos pela função de invocação.
O expression deve ser válido para esses tipos e o tipo de resultado deve corresponder às expectativas definidas das funções de invocação.
Exemplos
A função array_sort espera uma função lambda com dois parâmetros.
Os tipos de parâmetros serão o tipo dos elementos da matriz a ser classificada.
Espera-se que a expressão retorne um INTEGER onde -1 significa param1<param2, 0 significa param1 = param2e 1 de outra forma.
Para classificar uma MATRIZ de STRING em uma ordem lexical da direita para a esquerda, você pode usar a seguinte função lambda.
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END
As funções do Lambda são definidas e usadas ad hoc. Assim, a definição da função é o argumento:
> 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]