跳到主要内容

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真题

交流微信二维码

你可能还想看