Bagikan melalui


timestampdiff fungsi

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.

Sintaks

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

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