Condividi tramite


espressione SQL

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì 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 |
  COLLATE 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 nei Tipi di dati.

  • named_parameter_marker

    Segnaposto denominato e tipizzato per un valore fornito dall'API che invia l'istruzione SQL.

  • segnalatore_parametro_non_nominato

    Un segnaposto senza nome e con tipo specificato per un valore fornito dall'API al momento dell'invio dell'istruzione SQL.

  • column_reference

    Riferimento a una colonna in una tabella o a un alias di colonna.

  • field_reference

    Riferimento a un campo in un tipo STRUCT.

  • riferimento_parametro

    Riferimento a un parametro di una funzione definita dall'utente SQL dal 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 CAST

    Espressione che converte l'argomento in un tipo diverso.

  • Espressione CASE

    Espressione che consente la valutazione condizionale.

  • Espressione COLLATE

    Espressione che collega regole di confronto esplicite a un'espressione stringa.

  • expr

    Espressione stessa che viene combinata con un oggettooperator o che è un argomento di una funzione.

  • operator

    Operatore unario o binario.

  • expr [ expr ]

    Riferimento a un elemento di matrice o a una chiave della mappa.

  • function_invocation

    Chiamata di una funzione predefinita o definita dall'utente.

    Per informazioni dettagliate, vedere function_invocation .

  • ( expr )

    Precedenza forzata che annulla la precedenza dell'operatore.

  • ( expr, expr [, ... ] )

    Crea un struct di due o più campi. Questa notazione è sinonimo della funzione struct.

  • scalar_subquery:

    • ( 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 verso i tipi previsti usando le regole dei tipi di dati SQL. Se un operatore o una funzione non è valido per l'argomento specificato, Azure Databricks genera un errore.

Per ulteriori informazioni sulla risoluzione dei nomi, vedere Risoluzione delle colonne, campi, parametri e 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, ad esempio una sottoquery scalare o un predicato EXISTS.

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}}