try_subtract fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS ke atas

Mengembalikan hasil mengurangkan expr2 dari expr1, atau NULL jika terjadi overflow.

Sintaks

try_subtract ( expr1 , expr2 )

Argumen

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

Pengembalian

  • 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 adalah interval tahun-bulan, hasilnya adalah interval tahun-bulan dengan unit yang cukup luas untuk mewakili hasil tersebut.
  • Jika expr1 dan expr2 adalah interval siang-malam, hasilnya adalah interval siang-malam dengan satuan yang cukup luas untuk mewakili hasilnya.
  • Jika tidak, tipe hasil cocok expr1.

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

Jika hasilnya meluap, jenis hasil Databricks SQL akan mengembalikan NULL.

Saat Anda mengurangi interval tahun-bulan dari TANGGAL, Databricks SQL akan memastikan bahwa tanggal yang dihasilkan terbentuk dengan baik.

Contoh

> SELECT try_subtract(1, 2);
 -1

> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
 2021-1-20

> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
 2021-03-20 12:15:26

> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
 interval day to hour

> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
 2021-02-28

> SELECT try_subtract(-128Y, 1Y);
  NULL