+ operator (tanda tambah)

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

Menghasilkan penjumlahan expr1 dan expr2.

Sintaks

expr1 + expr2

Argumen

  • expr1: Ekspresi numerik, TANGGAL, STEMPEL WAKTU, atau INTERVAL.
  • expr2: Jika expr1 numerik expr2 harus berupa ekspresi numerik, atau INTERVAL sebaliknya.

Mengembalikan

  • Jika expr1 numerik, hasilnya adalah jenis argumen maksimum yang umum.
  • Jika expr1 TANGGAL dan expr2 merupakan interval hari-jam hasilnya adalah STEMPEL WAKTU.
  • Jika expr1 dan expr2 interval tahun-bulan hasilnya adalah interval tahun-bulan dari unit yang cukup lebar untuk mewakili hasilnya.
  • Jika expr1 dan expr2 interval hari-jam hasilnya adalah interval hari-waktu dari unit yang cukup lebar untuk mewakili hasilnya.
  • Jika tidak, jenis hasil cocok expr1.

Jika kedua ekspresi adalah interval mereka harus dari kelas yang sama.

Saat Anda menambahkan interval bulan tahun ke DATE, Azure Databricks memastikan bahwa tanggal yang dihasilkan terbentuk dengan baik.

Jika hasil meluapkan jenis hasil, Azure Databricks menimbulkan kesalahan ARITHMETIC_OVERFLOW atau INTERVAL_ARITHMETIC_OVERFLOW.

Gunakan try_add untuk mengembalikan luapan NULL.

Peringatan

Dalam Databricks Runtime, jika spark.sql.ansi.enabled adalah false, luapan tidak menyebabkan kesalahan tetapi "membungkus" hasilnya sebagai gantinya.

Kondisi kesalahan umum

Contoh

> SELECT 1 + 2;
 3

> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
 2021-5-20

> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
 2021-03-20 12:15:32

> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
 interval day to hour

> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
 2021-04-30

> SELECT 127Y + 1Y;
 Error: ARITHMETIC_OVERFLOW