Databricks SQL-expressie

Een expressie is een formule die een resultaat berekent op basis van letterlijke of kolom-, veld- of variabeleverwijzingen met behulp van functies of operators.

Syntax

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

scalar_subquery
  ( query )
  • literal: een letterlijke gegevens van een type dat wordt beschreven in Databricks SQL gegevenstypen.
  • column_reference: Een verwijzing naar een kolom in een tabel- of kolomalias.
  • field_reference: Een verwijzing naar een veld in een STRUCT-type.
  • CAST-expressie: een expressie die het argument cast naar een ander type.
  • CASE-expressie: een expressie die voorwaardelijke evaluatie mogelijk maakt.
  • expr: een expressie zelf die wordt gecombineerd met een operator , of die een argument voor een functie is.
  • Operator
  • function_invocation: een expressie die een ingebouwde of door de gebruiker gedefinieerde functie aanroept
  • ( expr ): Afgedwongen prioriteit die de operator voorrang overschrijven.
  • scalar_subquery:
    • ( query ): een expressie op basis van een query die één kolom en en ten meeste één rij moet retourneren.

Notities

Functies en operators verwachten specifieke gegevenstypen waarop ze werken en die worden beschreven met de respectieve functie of operator. Databricks SQL impliciete cast-overcasting naar verwachte typen met behulp van Databricks SQL type prioriteit . Als een operator of functie ongeldig is voor het opgegeven argument, teert Databricks SQL een foutmelding.

Constante expressie

Een expressie die alleen is gebaseerd op letterlijke of deterministische functies zonder argumenten. Databricks SQL de expressie uitvoeren en de resulterende constante gebruiken waar gewoonlijk letterlijke letterlijke gegevens vereist zijn.

Booleaanse expressie

Een expressie met het resultaattype BOOLEAN .

Scalaire subquery

Een expressie van de vorm ( query ) . De query moet een tabel retourneren die één kolom en ten meeste één rij heeft.

Als de query geen rij retourneert, is het resultaat NULL . Als de query meer dan één rij retourneert, retourneert Databricks SQL een fout. Anders is het resultaat de waarde die wordt geretourneerd door de query.

Eenvoudige expressie

Een expressie die geen bevat, zoals een query scalaire subquery of EXISTS een predicaat.

Voorbeelden

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