Výraz SQL
Platí pro: Databricks SQL
Databricks Runtime
Výraz je vzorec, který vypočítá výsledek na základě literálů nebo odkazů na sloupce, pole nebo proměnné pomocí funkcí nebo operátorů.
Syntaxe
{ 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 )
Hranaté závorky jsou skutečné hranaté závorky expr [ expr ]
a neudávají volitelnou syntaxi.
Parametry
literal
Literál typu popsaného v datovýchtypech
-
Pojmenovaný a zadaný zástupný symbol pro hodnotu poskytovanou rozhraním API, která odesílá příkaz SQL.
-
Nepojmenovaný a zadaný zástupný symbol pro hodnotu poskytovanou rozhraním API, která odesílá příkaz SQL.
column_reference
Odkaz na sloupec v aliasu tabulky nebo sloupce
field_reference
Odkaz na pole v typu STRUCT.
-
Odkaz na parametr uživatelem definované funkce SQL z těla funkce. Odkaz může použít nekvalifikovaný název parametru nebo kvalifikovat název s názvem funkce. Parametry představují vnější oblast platnosti při překladu identifikátorů.
-
Výraz přetypuje argument na jiný typ.
-
Výraz umožňující podmíněné vyhodnocení.
-
Výraz, který připojí explicitní kolaci k řetězcovýmu výrazu.
výraz
Samotný výraz, který je zkombinovaný s funkcí
operator
nebo který je argumentem funkce.-
Unární nebo binární operátor.
-
Odkaz na prvek pole nebo klíč mapy.
-
Vyvolání předdefinované nebo uživatelem definované funkce
Podrobnosti najdete v function_invocation .
( výraz )
Vynucená priorita, která přepíše prioritu operátoru.
( výraz, výraz [, ... ] )
Vytvoří dvě
struct
nebo více polí. Tato notace je synonymem pro funkci struktury.-
( dotaz )
Výraz založený na dotazu, který musí vrátit jeden sloupec a maximálně jeden řádek.
Stránky pro funkce a operátory popisují datové typy, které očekávají jejich parametry. Azure Databricks provádí implicitní přetypování na očekávané typy pomocí pravidel datového typu SQL. Pokud je operátor nebo funkce pro zadaný argument neplatný, Azure Databricks vyvolá chybu.
Další informace o vyhodnocení názvů pro sloupec, pole, parametr a proměnnou najdete v části ,.
Konstantní výraz
Výraz, který je založen pouze na literálech nebo deterministických funkcích bez argumentů. Azure Databricks může provést výraz a použít výslednou konstantu na místě, kde se obvykle vyžadují literály.
Logický výraz
Výraz s typem výsledku BOOLEAN
. Logický výraz se také někdy označuje jako podmínka nebo predikát.
Skalární poddotaz
Výraz formuláře ( query )
. Dotaz musí vrátit tabulku, která má jeden sloupec a maximálně jeden řádek.
Pokud dotaz nevrátí žádný řádek, výsledek je NULL
.
Pokud dotaz vrátí více než jeden řádek, Azure Databricks vrátí chybu.
V opačném případě je výsledkem hodnota vrácená dotazem.
Jednoduchý výraz
Výraz, který neobsahuje query
skalární poddotaz nebo EXISTS
predikát.
Příklady
> 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}}