مشاركة عبر


timestampdiff دالة

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime 10.4 LTS وما فوق

ترجع الفرق بين طابعين زمنيين تم قياسهما ب units.

بناء الجملة

timestampdiff(unit, start, end)

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

الوسيطات

  • unit: وحدة قياس.
  • start: تعبير بداية TIMESTAMP .
  • end: تعبير نهاية TIMESTAMP .

المرتجعات

BIGINT.

إذا كانت start أكبر من end النتيجة تكون سالبة.

تحسب الدالة الوحدات المنقضية بالكامل استنادا إلى UTC كونها DAY 86400 ثانية.

يعتبر شهر واحد منقضيا عند زيادة الشهر التقويمي ويوم التقويم ووقته يساوي أو أكبر من تاريخ البدء. الأسابيع، أرباع السنة، والسنوات تلي ذلك.

الأمثلة

-- 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