date_trunc 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

返回已截断到 unit 中指定的单位的时间戳。

语法

date_trunc(unit, expr)

参数

  • unitSTRING 文本。
  • exprDATETIMESTAMPSTRING,时间戳格式有效。

返回

一个 TIMESTAMP

说明

unit 的有效单位是(不区分大小写):

  • 'YEAR''YYYY''YY':截断到 expr 所处年份的第一个日期,时间部分将归零
  • 'QUARTER':截断到 expr 所处季度的第一个日期,时间部分将归零
  • 'MONTH''MM''MON':截断到 expr 所处月份的第一个日期,时间部分将归零
  • 'WEEK':截断到 expr 所处周的星期一,时间部分将归零
  • 'DAY''DD':将时间部分归零
  • 'HOUR':将带有小数部分的分钟和秒归零
  • 'MINUTE':将带有小数部分的秒归零
  • 'SECOND':将秒的小数部分归零
  • 'MILLISECOND':将微秒归零
  • 'MICROSECOND':全部保留

如果 unit 格式不正确,则函数返回 NULL

示例

> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
 2015-01-01 00:00:00

> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
 2015-03-01 00:00:00

> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
 2015-03-05 00:00:00

> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
 2015-03-05 09:00:00

> SELECT date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456');
 2015-03-05 09:32:05.123

-- Not a recognised unit
> SELECT date_trunc('MS', '2015-03-05T09:32:05.123456');
 NULL