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
結果。部分為 WEEK
的 DATETIME_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
結果。日期部分為 YEAR
的 DATETIME_DIFF
會傳回 3,因為它會計算兩個日期值之間的公曆年邊界數。日期部分為 ISOYEAR
的 DATETIME_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
結果。第一個日期在星期一,第二個日期在星期日。日期部分為 ISOWEEK
的 DATETIME_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 |
附註
這個函式不適用於相容模式日期類型。