Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Databricks SQL
Databricks Runtime
Ekspresi adalah rumus yang menghitung hasil berdasarkan literal atau referensi ke kolom, bidang, atau variabel, menggunakan fungsi atau operator.
Sintaks
{ 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 )
Tanda kurung expr [ expr ]
merupakan tanda kurung yang sebenarnya dan tidak menunjukkan sintaksis opsional.
Parameter
harfiah
Literal dari jenis yang dijelaskan dalam tipe data.
-
Tempat penampung bernama dan yang diketik untuk nilai yang disediakan oleh API yang mengirimkan pernyataan SQL.
-
Tempat penampung yang tidak disebutkan namanya dan diketik untuk nilai yang disediakan oleh API yang mengirimkan pernyataan SQL.
column_reference
Referensi ke kolom dalam tabel atau alias kolom.
field_reference
Referensi ke bidang dalam jenis STRUCT.
-
Referensi ke parameter fungsi yang ditentukan pengguna SQL dari dalam tubuh fungsi. Referensi dapat menggunakan nama parameter tanpa kualifikasi atau mengkualifikasi nama dengan nama fungsi. Parameter merupakan cakupan terluar dalam menyelesaikan identifikasi.
-
Ekspresi yang mengubah argumen ke tipe yang berbeda.
-
Ekspresi yang memungkinkan evaluasi bersyarat.
-
Ekspresi yang melampirkan kolate eksplisit ke ekspresi string.
expr
Ekspresi itu sendiri yang dikombinasikan dengan
operator
, atau yang merupakan argumen untuk suatu fungsi.-
Operator unary atau biner.
-
Referensi ke elemen array atau kunci peta.
-
Pemanggilan fungsi bawaan atau yang ditentukan pengguna.
Lihat function_invocation untuk detailnya.
( expr )
Prioritas wajib yang mengesampingkan prioritas operator.
( expr, expr [, … ] )
Membuat
struct
dari dua atau lebih bidang. Notasi ini sinonim dengan fungsi struct.-
( query )
Ekspresi berdasarkan kueri yang harus mengembalikan satu kolom dan maksimal satu baris.
Halaman untuk setiap fungsi dan operator menjelaskan jenis data yang diharapkan parameternya. Azure Databricks melakukan transmisi implisit ke jenis yang diharapkan menggunakan aturan jenis data SQL. Jika operator atau fungsi tidak valid untuk argumen yang disediakan, Azure Databricks menimbulkan kesalahan.
Lihat Kolom, bidang, parameter, dan resolusi variabel untuk informasi selengkapnya tentang resolusi nama.
Ekspresi konstan
Ekspresi yang hanya didasarkan pada fungsi literal atau deterministik tanpa argumen. Azure Databricks dapat menjalankan ekspresi dan menggunakan konstanta yang dihasilkan di tempat yang biasanya memerlukan literal.
Ekspresi boolean
Ekspresi dengan jenis hasil BOOLEAN
. Ekspresi boolean juga kadang-kadang disebut sebagai kondisi atau predikat.
Kueri skalar
Ekspresi dalam bentuk ( query )
. Kueri harus mengembalikan tabel yang memiliki satu kolom dan paling banyak satu baris.
Jika kueri tidak mengembalikan baris, hasilnya adalah NULL
.
Jika kueri mengembalikan lebih dari satu baris, Azure Databricks mengembalikan kesalahan.
Jika tidak, hasilnya adalah nilai yang dikembalikan oleh kueri.
Ekspresi sederhana
Suatu ekspresi yang tidak mengandung query
, seperti kueri subacak skalar atau predikat EXISTS
.
Contoh
> 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}}