Expresión SQL
Se aplica a: Databricks SQL Databricks Runtime
Una expresión es una fórmula que calcula un resultado en función de literales o referencias de columna, campos o variables mediante funciones u operadores.
Sintaxis
{ literal |
named_parameter_marker |
unnamed_parameter_marker |
column_reference |
field_reference |
parameter_reference |
CAST expression |
CASE expression |
expr operator expr |
operator expr |
expr [ expr ] |
function_invocation |
( expr ) |
( expr, expr [, ... ] ) |
scalar_subquery }
scalar_subquery
( query )
Los corchetes en expr [ expr ]
son corchetes reales y no indican sintaxis opcional.
Parámetros
literal
Un literal de un tipo descrito en Tipos de datos.
-
Marcador de posición con nombre y tipo para un valor proporcionado por la API que envía la instrucción SQL.
-
Marcador de posición sin nombre y tipo para un valor proporcionado por la API que envía la instrucción SQL.
column_reference
Referencia a una columna en un alias de tabla o columna.
field_reference
Referencia a un campo de un tipo STRUCT.
-
Referencia a un parámetro de un SQL función definida por el usuario desde con el cuerpo de la función. La referencia puede usar el nombre no completo del parámetro o calificar el nombre con el nombre de la función. Los parámetros constituyen el ámbito más externo al resolver identificadores.
-
Expresión que convierte el argumento en un tipo diferente.
-
Expresión que permite la evaluación condicional.
expr
Expresión propiamente dicha que se combina con
operator
o que es un argumento para una función.-
Operador unario o binario.
-
Referencia a un elemento de matriz o una clave de mapa.
-
Invocación de una función incorporada o definida por el usuario.
Consulte function_invocation para más detalles.
( expr )
Precedencia aplicada que invalida la precedencia del operador.
( expr, expr [, … ] )
Crea un
struct
de dos campos o más. Esta notación es sinónimo de la función struct.-
( query )
Expresión basada en una consulta que debe devolver una sola columna y, como máximo, una fila.
Las páginas de cada función y operador describen los tipos de datos que esperan sus parámetros. Azure Databricks utiliza reglas de tipo de datos SQL para realizar la conversión implícita a tipos esperados. Si un operador o una función no son válidos para el argumento proporcionado, Azure Databricks genera un error.
Consulte Resolución de columnas, campos, parámetros y variables para obtener más información sobre la resolución de nombres.
Expresión constante
Expresión que solo se basa en literales o funciones deterministas sin argumentos. Azure Databricks puede ejecutar la expresión y usar la constante resultante donde normalmente se requieren literales.
expresión booleana
Expresión con un tipo de resultado de BOOLEAN
. Las expresiones booleanas también se conocen a veces como condiciones o predicados.
Subconsulta escalar
Expresión con el formato ( query )
. La consulta debe devolver una tabla que tenga una columna y, como máximo, una fila.
Si la consulta no devuelve ninguna fila, el resultado es NULL
.
Si la consulta devuelve más de una fila, Azure Databricks devuelve un error.
De lo contrario, el resultado es el valor que devuelve la consulta.
Expresión simple
Expresión que no contiene query
, como una subconsulta escalar o un predicado EXISTS
.
Ejemplos
> 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}}