Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |
COLLATE 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.
Nota:
Se aplica a:
Databricks Runtime 18.0 y versiones posteriores
Puede usar marcadores de parámetro fuera de las expresiones siempre que un literal del tipo de marcador de parámetro sea válido.
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
STRUCTtipo.-
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.
-
Expresión que asocia una intercalación explícita a una expresión de cadena.
expr
Expresión propiamente dicha que se combina con
operatoro 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
structde dos campos o más. Esta notación es sinónimo de la función struct.-
( consulta )
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}}