espressione SQL
Si applica a: Databricks SQL Databricks Runtime
Un'espressione è una formula che calcola un risultato in base a valori letterali o riferimenti a colonne, campi o variabili, usando funzioni o operatori.
Sintassi
{ 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 )
Le parentesi quadre in expr [ expr ]
sono parentesi quadre effettive e non indicano la sintassi facoltativa.
Parametri
literal
Valore letterale di un tipo descritto in Tipi di dati.
-
Segnaposto denominato e tipizzato per un valore fornito dall'API che invia l'istruzione SQL.
-
Segnaposto senza nome e tipizzato per un valore fornito dall'API che invia l'istruzione SQL.
column_reference
Riferimento a una colonna in un alias di tabella o colonna.
field_reference
Riferimento a un campo in un tipo STRUCT.
-
Riferimento a un parametro di una funzione definita dall'utente SQL da con il corpo della funzione. Il riferimento può usare il nome non qualificato del parametro o qualificare il nome con il nome della funzione. I parametri costituiscono l'ambito più esterno durante la risoluzione degli identificatori.
-
Espressione che esegue il cast dell'argomento in un tipo diverso.
-
Espressione che consente la valutazione condizionale.
expr
Espressione stessa che viene combinata con un
operator
oggetto o che è un argomento di una funzione.-
Operatore unario o binario.
-
Riferimento a un elemento di matrice o a una chiave della mappa.
-
Chiamata di una funzione predefinita o definita dall'utente.
Per informazioni dettagliate, vedere function_invocation .
( expr )
Precedenza applicata che esegue l'override della precedenza dell'operatore.
( expr, expr [, ... ] )
Crea un
struct
oggetto di due o più campi. Questa notazione è sinonimo della funzione struct.-
( query )
Espressione basata su una query che deve restituire una singola colonna e al massimo una riga.
Le pagine per ogni funzione e operatore descrivono i tipi di dati previsti dai relativi parametri. Azure Databricks esegue il cast implicito ai tipi previsti usando regole del tipo di dati SQL. Se un operatore o una funzione non è valido per l'argomento specificato, Azure Databricks genera un errore.
Per altre informazioni sulla risoluzione dei nomi, vedere Colonna, campo, parametro e risoluzione delle variabili.
Espressione costante
Espressione basata solo su valori letterali o funzioni deterministiche senza argomenti. Azure Databricks può eseguire l'espressione e usare la costante risultante in cui sono necessari valori letterali normali.
espressione booleana
Espressione con un tipo di risultato di BOOLEAN
. Un'espressione booleana viene talvolta definita anche condizione o predicato.
Sottoquery scalare
Espressione del formato ( query )
. La query deve restituire una tabella con una colonna e al massimo una riga.
Se la query non restituisce alcuna riga, il risultato è NULL
.
Se la query restituisce più righe, Azure Databricks restituisce un errore.
In caso contrario, il risultato è il valore restituito dalla query.
Espressione semplice
Espressione che non contiene un query
oggetto , ad esempio una sottoquery scalare o un EXISTS
predicato.
Esempi
> 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}}