date_diff
fungsi
Berlaku untuk: Databricks SQL Databricks Runtime 13.3 LTS ke atas
Mengembalikan perbedaan antara dua stempel waktu yang diukur dalam unit
detik. 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