Databricks-SQL Ausdruck

Ein Ausdruck ist eine Formel, die ein Ergebnis basierend auf Literalen oder Spalten-, Feld- oder Variablenverweisen mithilfe von Funktionen oder Operatoren berechnet.

Syntax

{ literal |
  column_reference |
  field_reference |
  CAST expression |
  CASE expression |
  expr operator expr |
  operator expr |
  expr [ expr ] |
  function_invocation |
  ( expr ) |
  scalar_subquery }

scalar_subquery
  ( query )

Die Klammern [ expr ] sind tatsächliche Klammern und geben keine optionale Syntax an.

Parameter

  • literal:Ein Literal eines in Databricksbeschriebenen Typs SQL Datentypen .
  • column_reference:Ein Verweis auf eine Spalte in einem Tabellen- oder Spaltenalias.
  • field_reference: Ein Verweis auf ein Feld in einem Strukturtyp (Databricks SQL).
  • CAST-Ausdruck:Ein Ausdruck, der das Argument in einen anderen Typ umformt.
  • CASE-Ausdruck:Ein Ausdruck, der die bedingte Auswertung ermöglicht.
  • expr:Ein Ausdruck selbst, der mit einem kombiniert wird oder ein Argument für eine Funktion ist.
  • operator: Ein unärer oder binärer Operator.
  • [ expr ]: Ein Verweis auf ein Arrayelement oder einen Zuordnungsschlüssel.
  • function_invocation: Ein Ausdruck, der eine integrierte oder benutzerdefinierte Funktion aufruft.
  • ( expr ): Erzwungene Rangfolge, die die Operatoren-Rangfolge überschreibt.
  • scalar_subquery:
    • ( query ): Ein Ausdruck, der auf einer Abfrage basiert, die eine einzelne Spalte und mindestens eine Zeile zurückgeben muss.

Hinweise

Funktionen und Operatoren erwarten bestimmte Datentypen, auf denen sie arbeiten, die mit der jeweiligen Funktion oder dem jeweiligen Operator beschrieben werden. Databricks SQL führt die implizite Umwandlung in erwartete Typen mithilfe SQL Datentypregeln (Databricks SQL) aus. Wenn ein Operator oder eine Funktion für das bereitgestellte Argument ungültig ist, löst Databricks SQL einen Fehler aus.

Konstanter Ausdruck

Ein Ausdruck, der nur auf Literalen oder deterministischen Funktionen ohne Argumente basiert. Databricks SQL kann den Ausdruck ausführen und die resultierende Konstante verwenden, bei der normalerweise Literale erforderlich sind.

Boolescher Ausdruck

Ein Ausdruck mit dem Ergebnistyp BOOLEAN . Ein boolescher Ausdruck wird manchmal auch als Bedingung oderPrädikat bezeichnet.

Skalare Unterabfrage

Ein Ausdruck im Formular ( query ) . Die Abfrage muss eine Tabelle zurückgeben, die über eine Spalte und mindestens eine Zeile verfügt.

Wenn die Abfrage keine Zeile zurückgibt, ist das Ergebnis NULL . Wenn die Abfrage mehr als eine Zeile zurückgibt, gibt Databricks SQL einen Fehler zurück. Andernfalls ist das Ergebnis der von der Abfrage zurückgegebene Wert.

Einfacher Ausdruck

Ein Ausdruck, der kein enthält, z. B. query eine skalare Unterabfrage oder EXISTS ein Prädikat.

Beispiele

> 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