مشاركة عبر


date_diff دالة

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

ترجع الفرق بين طابعين زمنيين تم قياسهما ب units. date_diff(الطابع الزمني) هو مرادف لدالة الطابع الزمني.

بناء الجملة

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