date_diff:日期差计算
速查结论
date_diff(endDate, startDate) 是 Spark SQL 中用于返回从 startDate 到 endDate 的天数差的函数。
语法
date_diff(endDate, startDate)
参数说明
| 参数 | 说明 |
|---|---|
| endDate | 结束日期,可以是 DATE 类型或有效的日期字符串。 |
| startDate | 起始日期,可以是 DATE 类型或有效的日期字符串。 |
Examples
> SELECT date_diff('2009-07-31', '2009-07-30');
1
> SELECT date_diff('2009-07-30', '2009-07-31');
-1
常见报错与避坑指南
- 参数顺序敏感:date_diff(endDate, startDate) 的参数顺序与直觉相反,是结束日期在前、起始日期在后。反向传入会导致结果符号反转。
- 返回整数天数:date_diff 只返回整数天数差,忽略时间部分。如需精确到小时或分钟的时间差,请使用 unix_timestamp 相减后自行换算。
Since: 3.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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