DATETIME_TRUNC

將日期截斷至指定精細程度。

用法示範

DATETIME_TRUNC(Order Date, MONTH)

語法

DATETIME_TRUNC( date_expression, part )

參數

date_expression - 日期或日期和時間欄位或運算式。

part - 要傳回的時間部分。DATETIME_TRUNC 支援下列時間部分:

  • MICROSECOND:適用於日期和時間欄位或運算式。
  • MILLISECOND:適用於日期和時間欄位或運算式。
  • SECOND:適用於日期和時間欄位或運算式。
  • MINUTE:適用於日期和時間欄位或運算式。
  • HOUR:適用於日期和時間欄位或運算式。
  • DAY
  • WEEK:這個日期部分從星期日開始。
  • ISOWEEK:使用 ISO 8601 週邊界。ISO 週從星期一開始。
  • MONTH
  • QUARTER
  • YEAR
  • ISOYEAR:使用 ISO 8601 週數年邊界。ISO 年邊界是第一週 (星期四屬於對應公曆年) 的星期一。

傳回資料類型

日期與時間

範例

公式範例 輸出
DATETIME_TRUNC(DATE '2008-12-25', MONTH) 2008-12-01 00:00:00
DATETIME_TRUNC(DATETIME "2008-12-25 15:30:00", DAY) 2008-12-25 00:00:00

在以下範例中,原始 date_expression 在公曆年 2015。不過,帶有 ISOYEAR 日期部分的 DATE_TRUNC 會將 date_expression 截斷至 ISO 年 (而非公曆年) 的開始。2015 日歷年的第一個星期四是 2015-01-01,所以 ISO 年 2015 在上一個 2014-12-29 星期一開始。因此 date_expression 2015-06-15 之前的 ISO 年邊界是 2014-12-29。

公式範例 輸出
DATE_TRUNC('2015-06-15', ISOYEAR) 2014-12-29
EXTRACT(ISOYEAR FROM DATETIME '2015-06-15') 2015

附註

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