Bagikan melalui


date_diff fungsi

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

Mengembalikan perbedaan antara dua stempel waktu yang diukur dalam unitdetik. date_diff (stempel waktu) adalah sinonim untuk fungsi timestampdiff.

Sintaks

date_diff(unit, start, end)

unit
 { MICROSECOND |
   MILLISECOND |
   SECOND |
   MINUTE |
   HOUR |
   DAY |
   WEEK |
   MONTH |
   QUARTER |
   YEAR }

Argumen

  • unit: Satuan ukuran.
  • start: Ekspresi TIMESTAMP awal.
  • end: Ekspresi TIMESTAMP akhir.

Mengembalikan

BIGINT.

Jika start lebih besar dari end hasilnya negatif.

Fungsi ini menghitung seluruh unit yang telah berlalu berdasarkan UTC dengan DAY merupakan 86400 detik.

Satu bulan dianggap telah berlalu ketika bulan kalender telah bertambah dan hari dan waktu kalender sama atau lebih besar dari awal. Minggu, kuartal, dan tahun mengikuti dari itu.

Contoh

-- One second shy of a month elapsed
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 11:59:59');
 0

-- One month has passed even though its' not end of the month yet because day and time line up.
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

-- Start is greater than the end
> SELECT date_diff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
 -120