Wyrażenie SQL
Dotyczy: Databricks SQL
Databricks Runtime
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.
{ 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 )
Nawiasy w expr [ expr ]
są rzeczywistymi nawiasami i nie wskazują na opcjonalną składnię.
literalny
Literał typu opisanego w Typy Danych.
-
Nazwany symbol zastępczy określonego typu dla wartości dostarczonej przez interfejs API podczas przesyłania instrukcji SQL.
niezdefiniowany_znacznik_parametru
Nieokreślony symbol zastępczy z określonym typem dla wartości dostarczonej przez interfejs API przesyłający instrukcję SQL.
odwołanie_do_kolumny
Odwołanie do kolumny w aliasie tabeli lub kolumny.
field_reference
Odwołanie do pola w typie struktury.
-
Odwołanie do parametru funkcji zdefiniowanej przez użytkownika SQL wewnątrz ciała funkcji. Odwołanie może używać niekwalifikowanej nazwy parametru lub oznaczać nazwę nazwą funkcji. Parametry stanowią najbardziej zewnętrzny zakres podczas rozpoznawania identyfikatorów.
-
Wyrażenie konwertujące argument na inny typ.
-
Wyrażenie umożliwiające ocenę warunkową.
-
Wyrażenie dołączające eksplitytne sortowanie do wyrażenia ciągu.
expr
Samo wyrażenie, które jest łączone z elementem
operator
, lub które stanowi argument funkcji.-
Jednoargumentowy lub binarny operator.
-
Odwołanie do elementu tablicy lub klucza mapy.
-
Wywołanie wbudowanej lub zdefiniowanej przez użytkownika funkcji.
Aby uzyskać szczegółowe informacje, zobacz function_invocation .
( wyrażenie )
Wymuszone pierwszeństwo, które zastępuje pierwszeństwo operatora.
( expr, expr [, ... ] )
struct
Tworzy co najmniej dwa pola. Ta notacja jest synonimem funkcji struktury.-
( 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. Usługa Azure Databricks 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, usługa Azure Databricks zgłasza błąd.
Aby uzyskać więcej informacji na temat rozpoznawania nazw, zobacz rozpoznawanie kolumn, pól, parametrów i zmiennych.
Wyrażenie oparte tylko na literałach lub funkcjach deterministycznych bez argumentów. Usługa Azure Databricks może wykonać wyrażenie i użyć stałej wynikowej, gdzie zwykle są wymagane literały.
Wyrażenie o typie wyniku BOOLEAN
. Wyrażenie logiczne jest również czasami określane jako warunek lub predykat.
Wyrażenie w postaci ( 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, usługa Azure Databricks zwraca błąd.
W przeciwnym razie wynik jest wartością zwracaną przez zapytanie.
Wyrażenie, które nie zawiera query
, takie jak podzapytanie skalarne lub EXISTS
predykat.
> 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}}