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 年。不过,如果 DATE_TRUNC 包含 ISOYEAR 日期部分,则会将 date_expression 截断到 ISO 格式年份(而非公历年)的开始。公历年 2015 年的第一个星期四是 2015-01-01,因此 ISO 格式年份 2015 年开始于上一个星期一,也就是 2014-12-29。因此,date_expression 2015-06-15 之前的 ISO 格式年份边界值是 2014-12-29。

ISO 年份边界

DATE_TRUNC('2015-06-15', ISOYEAR)
ISO 年份编号:

EXTRACT(ISOYEAR FROM DATETIME '2015-06-15')
2014-12-29 2015 年

备注

此函数不适用于兼容模式日期类型。