DATETIME_DIFF

傳回兩個日期之間的部分邊界數。

用法示範

DATETIME_DIFF(Order Date, Ship Date, DAY)

語法

DATETIME_DIFF( date_expression, date_expression, part )

參數

  • date_expression - 日期或日期和時間欄位或運算式。如果第一個日期運算式早於第二個日期運算式,結果為零或負數。
  • part - 要傳回的時間部分。DATETIME_DIFF 支援下列部分:
    • MICROSECOND:適用於「日期和時間」欄位或運算式。
    • MILLISECOND:適用於「日期和時間」欄位或運算式。
    • SECOND:適用於「日期和時間」欄位或運算式。
    • MINUTE:適用於「日期和時間」欄位或運算式。
    • HOUR:適用於「日期和時間」欄位或運算式。
    • DAY
    • WEEK:這個日期部分從星期日開始。
    • ISOWEEK:使用 ISO 8601 週邊界。ISO 週從星期一開始。
    • MONTH
    • QUARTER
    • YEAR
    • ISOYEAR:使用 ISO 8601 週數年邊界。ISO 年邊界是第一週 (星期四屬於對應公曆年) 的星期一。

傳回資料類型

數字 (整數)

範例

以下第二和第三個範例顯示相距 24 小時的兩個日期值的 DATETIME_DIFF 結果。部分為 WEEKDATETIME_DIFF 會傳回 1,因為 DATETIME_DIFF 會在這個日期值範圍中計算部分邊界數。每個 WEEK 都從星期日開始,因此在 2017 年 10 月 14 日 00:00:00 星期六與 2017 年 10 月 15 日 00:00:00 星期日之間有一個日期部分邊界。

範例公式 輸出
DATETIME_DIFF( DATETIME "2010-07-07 10:20:00", DATETIME "2008-12-25 15:30:00", DAY ) 559
DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", DAY )

1

DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", WEEK ) 1

以下範例顯示不同年份之兩個日期的 DATETIME_DIFF 結果。日期部分為 YEARDATETIME_DIFF 會傳回 3,因為它會計算兩個日期值之間的公曆年邊界數。日期部分為 ISOYEARDATETIME_DIFF 會傳回 2,因為第二個日期值屬於 ISO 年 2015。2015 日曆年的第一個星期四是 2015-01-01,因此 ISO 年 2015 從上一個 2014-12-29 星期一開始。

範例公式 輸出
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', YEAR) 3
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', ISOYEAR)

2 年

以下範例顯示連續兩天的 DATETIME_DIFF 結果。第一個日期在星期一,第二個日期在星期日。日期部分為 ISOWEEKDATETIME_DIFF 也會傳回 1,因為 ISO 週從星期一開始。

範例公式 輸出
DATETIME_DIFF(DATE '2017-12-18', DATE '2017-12-17', WEEK) 0
DATETIME_DIFF(DATE '2017-12-18', DATE'2017-12-17', ISOWEEK) 1

附註

這個函式不適用於相容模式日期類型。