跳到主要内容

datepart:提取日期部分

速查结论

datepart(field, source) 是 Spark SQL 中用于从日期/时间戳或间隔 source 中提取 field 指定的部分的函数。

语法

datepart(field, source)

参数说明

参数说明
field选择要从 source 提取的部分,支持的字符串值与等效函数 EXTRACT 的字段相同。
source一个日期/时间戳或间隔列,要从中提取 field。

Examples

> SELECT datepart('YEAR', TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT datepart('week', timestamp'2019-08-12 01:00:00.123456');
33
> SELECT datepart('doy', DATE'2019-08-12');
224
> SELECT datepart('SECONDS', timestamp'2019-10-01 00:00:01.000001');
1.000001
> SELECT datepart('days', interval 5 days 3 hours 7 minutes);
5
> SELECT datepart('seconds', interval 5 hours 30 seconds 1 milliseconds 1 microseconds);
30.001001
> SELECT datepart('MONTH', INTERVAL '2021-11' YEAR TO MONTH);
11
> SELECT datepart('MINUTE', INTERVAL '123 23:55:59.002001' DAY TO SECOND);
55

常见报错与避坑指南

  • datepart 与 date_part 的等价性:datepart 函数等同于 date_part 函数,也等同于 SQL 标准函数 EXTRACT(field FROM source)。三者功能相同,可根据项目代码风格选择使用。
  • field 字符串区分大小写:field 参数对大小写不敏感,'YEAR''year' 均可正常使用。

Since: 3.4.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看