Ekspresi majemuk - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ekspresi majemuk

Ekspresi majemuk adalah serangkaian ekspresi sederhana yang digabungkan oleh operator aritmatika. Ekspresi sederhana yang digunakan dalam ekspresi majemuk harus mengembalikan nilai numerik.

Sintaks

expression operator expression | (compound_expression)

Argumen

ekspresi

Ekspresi sederhana yang mengevaluasi nilai.

operator

Ekspresi aritmatika majemuk dapat dibangun menggunakan operator berikut, dalam urutan prioritas ini:

  • (): tanda kurung untuk mengontrol urutan evaluasi

  • +, -: tanda/operator positif dan negatif

  • ^, |/, ||/: eksponensial, akar kuadrat, akar kubus

  • *,/,%: operator perkalian, pembagian, dan modulo

  • @: nilai absolut

  • +, -: penambahan dan pengurangan

  • &, |, #, ~, <<, >>:, ATAUAND,, geser ke kiriNOT, geser operator bitwise kanan

  • ||: penggabungan

(compound_expression)

Ekspresi majemuk dapat disarangkan menggunakan tanda kurung.

Contoh

Contoh ekspresi majemuk meliputi yang berikut ini.

('SMITH' || 'JONES') sum(x) / y sqrt(256) * avg(column) rank() over (order by qtysold) / 100 (select (pricepaid - commission) from sales where dateid = 1882) * (qtysold)

Beberapa fungsi juga dapat disarangkan dalam fungsi lain. Misalnya, fungsi skalar apa pun dapat bersarang di dalam fungsi skalar lain. Contoh berikut mengembalikan jumlah nilai absolut dari satu set angka:

sum(abs(qtysold))

Fungsi jendela tidak dapat digunakan sebagai argumen untuk fungsi agregat atau fungsi jendela lainnya. Ekspresi berikut akan mengembalikan kesalahan:

avg(rank() over (order by qtysold))

Fungsi jendela dapat memiliki fungsi agregat bersarang. Ekspresi berikut menjumlahkan kumpulan nilai dan kemudian memeringkatnya:

rank() over (order by sum(qtysold))