timediff fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 14.0 ke atas

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

Sintaks

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

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