Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
Uma expressão é uma fórmula que calcula um resultado com base em literais ou referências a colunas, campos ou variáveis, usando funções ou operadores.
Sintaxe
{ literal |
named_parameter_marker |
unnamed_parameter_marker |
column_reference |
field_reference |
parameter_reference |
CAST expression |
CASE expression |
COLLATE expression |
expr operator expr |
operator expr |
expr [ expr ] |
function_invocation |
( expr ) |
( expr, expr [, ... ] ) |
scalar_subquery }
scalar_subquery
( query )
Os parênteses em expr [ expr ] são parênteses reais e não indicam sintaxe opcional.
Observação
Aplica-se a:
Runtime Databricks 18.0 e superiores
Podes usar marcadores de parâmetros fora das expressões sempre que um literal do tipo de marcador de parâmetro seja válido.
Parâmetros
literal
Literal de um tipo descrito em Tipos de dados.
-
Um espaço reservado nomeado e tipado para um valor fornecido pela API que submete a instrução SQL.
marcador_de_parâmetro_sem_nome
Um espaço reservado tipificado e sem nome para um valor fornecido pela API que envia a instrução SQL.
column_reference
Uma referência a uma coluna em um alias de tabela ou coluna.
field_reference
Uma referência a um campo num
STRUCTtipo.-
Uma referência a um parâmetro de uma função definida pelo usuário SQL a partir do corpo da função. A referência pode usar o nome não qualificado do parâmetro ou qualificar o nome com o nome da função. Os parâmetros constituem o âmbito mais externo na resolução de identificadores.
-
Uma expressão que projeta o argumento para um tipo diferente.
-
Uma expressão que permite uma avaliação condicional.
-
Uma expressão que anexa um agrupamento explícito a uma expressão de cadeia de caracteres.
EXPR
Uma expressão em si que é combinada com um
operator, ou que é um argumento para uma função.-
Um operador unário ou binário.
-
Uma referência a um elemento de matriz ou uma chave de mapa.
-
Uma invocação de uma função interna ou definida pelo usuário.
Consulte function_invocation para obter detalhes.
( expr )
Precedência imposta que substitui a precedência do operador.
( expr, expr [, ... ] )
Cria um
structde dois ou mais campos. Esta notação é sinónima da função struct.-
-
Uma expressão baseada em uma consulta que deve retornar uma única coluna e, no máximo, uma linha.
-
As páginas para cada função e operador descrevem os tipos de dados esperados pelos seus parâmetros. O Azure Databricks executa a conversão implícita para tipos esperados usando regras de tipo de dados SQL. Se um operador ou função for inválido para o argumento fornecido, o Azure Databricks gerará um erro.
Consulte Resolução de colunas, campos, parâmetros e variáveis para obter mais informações sobre a resolução de nomes.
Expressão constante
Uma expressão que se baseia apenas em literais ou funções determinísticas sem argumentos. O Azure Databricks pode executar a expressão e usar a constante resultante onde normalmente literais são necessários.
expressão booleana
Uma expressão com um tipo de resultado de BOOLEAN. Uma expressão booleana também é por vezes referida como uma condição ou um predicado.
Subconsulta escalar
Uma expressão da forma ( query ). A consulta deve retornar uma tabela que tenha uma coluna e, no máximo, uma linha.
Se a consulta não retornar nenhuma linha, o resultado será NULL.
Se a consulta retornar mais de uma linha, o Azure Databricks retornará um erro.
Caso contrário, o resultado será o valor retornado pela consulta.
Expressão simples
Uma expressão que não contém um query, como uma subconsulta escalar ou um predicado EXISTS.
Exemplos
> SELECT 1;
1
> SELECT (SELECT 1) + 1;
2
> SELECT 1 + 1;
2
> SELECT 2 * (1 + 2);
6
> SELECT 2 * 1 + 2;
4
> SELECT substr('Spark', 1, 2);
Sp
> SELECT c1 + c2 FROM VALUES(1, 2) AS t(c1, c2);
3
> SELECT a[1] FROM VALUES(array(10, 20)) AS T(a);
20
> SELECT true;
true
> SELECT (c1, (c2, c3)) FROM VALUES(1, 2, 3) AS T(c1, c2, c3);
{"c1":1,"col2":{"c2":2,"c3":3}}