Bagikan melalui


datediff fungsi (stempel waktu)

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

Mengembalikan perbedaan antara dua stempel waktu yang diukur dalam unitdetik. Fungsi ini adalah sinonim untuk timestampdiff fungsi.

Sintaks

datediff(unit, start, end)

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

Argumen

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

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 datediff(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 datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

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