* operator (tanda bintang)

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menghasilkan multiplier dikalikan dengan multiplicand.

Sintaks

multiplier * multiplicand

Argumen

  • multiplier: Numerik atau INTERVAL ekspresi.
  • multiplicand: Ekspresi numerik atau ekspresi INTERVAL.

Anda mungkin tidak menentukan INTERVAL untuk kedua argumen.

Mengembalikan

  • Jika keduanya multiplier dan multiplicand adalah DECIMAL, hasilnya adalah DECIMAL.
  • Jika multiplier atau multiplicand adalah INTERVAL, hasilnya adalah jenis yang sama.
  • Jika multiplier dan multiplicand merupakan jenis numerik integral, hasilnya adalah yang lebih besar dari kedua jenis.
  • Dalam semua kasus lain, hasilnya adalah DOUBLE.

Jika salah satu dari multiplier atau multiplicand adalah 0, operator menampilkan 0.

Jika hasil perkalian meluap pada jenis hasil, Azure Databricks menimbulkan kesalahan ARITHMETIC_OVERFLOW atau INTERVAL_ARITHMETIC_OVERFLOW.

Gunakan try_multiply untuk kembali NULL pada luapan.

Peringatan

Dalam Databricks Runtime, jika spark.sql.ansi.enabled adalah false, hasilnya "membungkus" jika berada di luar batas untuk jenis integral, dan hasilnya adalah NULL untuk jenis pecahan.

Kondisi kesalahan umum

Contoh

> SELECT 3 * 2;
 6

> SELECT 2L * 2L;
 4L

> SELECT INTERVAL '3' YEAR * 3;
 9-0

> SELECT 100Y * 100Y;
 Error: ARITHMETIC_OVERFLOW