date_part:提取日期部分
速查结论
date_part(field, source) 是 Spark SQL 中用于从日期/时间戳或间隔 source 中提取 field 指定的部分的函数。
语法
date_part(field, source)
参数说明
| 参数 | 说明 |
|---|---|
| field | 选择要从 source 提取的部分,支持的字符串值与等效函数 EXTRACT 的字段相同。 |
| source | 一个日期/时间戳或间隔列,要从中提取 field。 |
Examples
> SELECT date_part('YEAR', TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT date_part('week', timestamp'2019-08-12 01:00:00.123456');
33
> SELECT date_part('doy', DATE'2019-08-12');
224
> SELECT date_part('SECONDS', timestamp'2019-10-01 00:00:01.000001');
1.000001
> SELECT date_part('days', interval 5 days 3 hours 7 minutes);
5
> SELECT date_part('seconds', interval 5 hours 30 seconds 1 milliseconds 1 microseconds);
30.001001
> SELECT date_part('MONTH', INTERVAL '2021-11' YEAR TO MONTH);
11
> SELECT date_part('MINUTE', INTERVAL '123 23:55:59.002001' DAY TO SECOND);
55
常见报错与避坑指南
- field 字符串区分大小写:field 参数对大小写不敏感,
'YEAR'和'year'均可正常使用,但建议统一大写以保持代码风格一致。 - 与 EXTRACT 的等价性:date_part 函数等同于 SQL 标准函数
EXTRACT(field FROM source),两者可互换使用。
Since: 3.0.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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