next_day:获取下一个指定星期
速查结论
next_day(start_date, day_of_week) 是 Spark SQL 中用于返回晚于指定日期的第一个匹配星期名称的日期的函数。
语法
next_day(start_date, day_of_week)
参数说明
| 参数 | 说明 |
|---|---|
| start_date | 起始日期 |
| day_of_week | 星期名称缩写,如 'TU'(周二)、'MO'(周一)等 |
next_day(start_date, day_of_week) - 返回晚于 start_date 的第一个日期,并且该日期的星期名称与 day_of_week 指示的相符。如果至少一个输入参数是 NULL,则函数返回 NULL。当两个输入参数都不为 NULL 且 day_of_week 是无效输入时,如果 spark.sql.ansi.enabled 设置为 true,则函数抛出 IllegalArgumentException,否则返回 NULL。
Examples:
> SELECT next_day('2015-01-14', 'TU');
2015-01-20
常见报错与避坑指南
- 无效的 day_of_week 输入:当 day_of_week 不是合法的星期缩写时,若 ANSI 模式开启 (
spark.sql.ansi.enabled=true),函数会抛出IllegalArgumentException;否则返回 NULL。建议在调用前确保 day_of_week 合法。 - NULL 值处理:任一输入参数为 NULL 时,函数直接返回 NULL,不会报错。如果需要对 NULL 做特殊处理,可使用
COALESCE兜底。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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