Wyrażenie środowiska Uruchomieniowego usługi Databricks

Wyrażenie to formuła, która oblicza wynik na podstawie literałów lub odwołań do kolumn, pól lub zmiennych przy użyciu funkcji lub operatorów.

Składnia

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

scalar_subquery
  ( query )

Nawiasy są rzeczywistymi nawiasami [ expr ] kwadratowymi i nie wskazują składni opcjonalnej.

Parametry

  • Literału

    Literał typu opisany w artykule Typy danych.

  • column_reference

    Odwołanie do kolumny w aliasie tabeli lub kolumny.

  • field_reference

    Odwołanie do pola w typie struktury.

  • parameter_reference

    Odwołanie do parametru SQL funkcji zdefiniowanej przez użytkownika z treścią funkcji. Odwołanie może używać niekwalifikowanej nazwy parametru lub kwalifikować nazwę z nazwą funkcji. Parametry stanowią najbardziej zewnętrzny zakres podczas rozpoznawania identyfikatorów.

  • Wyrażenie CAST

    Wyrażenie rzutowania argumentu na inny typ.

  • Wyrażenie CASE

    Wyrażenie umożliwiające ocenę warunkową.

  • Expr

    Samo wyrażenie, które jest łączone z elementem operator, lub jest argumentem funkcji.

  • Operator

    Operator jednoargumentowy lub binarny.

  • [ wyrażenie ]

    Odwołanie do elementu tablicy lub klucza mapy.

  • function_invocation

    Wyrażenie wywołujące wbudowaną lub zdefiniowaną przez użytkownika funkcję.

    Strony dla każdej wbudowanej funkcji i operatora opisują typy danych, których oczekuje ich parametry. Środowisko Databricks Runtime wykonuje niejawne rzutowanie do oczekiwanych typów przy użyciu reguł typów danych SQL. Jeśli operator lub funkcja jest nieprawidłowa dla podanego argumentu, środowisko Uruchomieniowe usługi Databricks zgłasza błąd. Funkcje również dokumentują, które parametry są obowiązkowe lub opcjonalne.

    Podczas wywoływania funkcji zdefiniowanej przez użytkownika SQL można pominąć argumenty dla parametrów końcowych, jeśli parametry mają zdefiniowane wartości domyślne.

  • ( wyrażenie )

    Wymuszony pierwszeństwo, które zastępuje pierwszeństwo operatora.

  • scalar_subquery:

    • ( zapytanie )

      Wyrażenie oparte na zapytaniu, które musi zwracać jedną kolumnę i co najwyżej jeden wiersz.

Strony dla każdej funkcji i operatora opisują typy danych, których oczekuje ich parametry. Środowisko Databricks Runtime wykonuje niejawne rzutowanie do oczekiwanych typów przy użyciu reguł typów danych SQL. Jeśli operator lub funkcja jest nieprawidłowa dla podanego argumentu, środowisko Uruchomieniowe usługi Databricks zgłasza błąd.

Wyrażenie stałe

Wyrażenie oparte tylko na literałach lub funkcjach deterministycznych bez argumentów. Środowisko Databricks Runtime może wykonać wyrażenie i użyć wynikowej stałej, w której zwykle wymagane są literały.

Wyrażenie logiczne

Wyrażenie z typem BOOLEANwyniku . Wyrażenie logiczne jest również czasami określane jako warunek lub predykat.

Podzapytywanie skalarne

Wyrażenie formularza ( query ). Zapytanie musi zwrócić tabelę zawierającą jedną kolumnę i co najwyżej jeden wiersz.

Jeśli zapytanie nie zwraca żadnego wiersza, wynikiem jest NULL. Jeśli zapytanie zwraca więcej niż jeden wiersz, środowisko Databricks Runtime zwraca błąd. W przeciwnym razie wynikiem jest wartość zwracana przez zapytanie.

Wyrażenie proste

Wyrażenie, które nie zawiera queryelementu , takiego jak podzapytywanie skalarne lub EXISTS predykat.

Przykłady

> 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