修改SparkSQL代码以返回上上个季度末日期
SparkSQL 获取上上个季度末日期
原有实现(返回上季度末日期)
之前编写的SparkSQL语句可获取当前日期对应的上季度末日期:
SELECT last_day(add_months(date_trunc('quarter', current_date()), -1))
修改后的实现(返回上上个季度末日期)
要获取上上个季度末日期,仅需调整add_months的偏移参数,将-1改为-4:
SELECT last_day(add_months(date_trunc('quarter', current_date()), -4))
逻辑说明
原有逻辑:
date_trunc('quarter', current_date())得到当前季度的第一天(例如2023年第二季度对应2023-04-01)add_months(..., -1)将日期往前推1个月,得到上个季度的首月第一天(2023-03-01)last_day(...)取该月的最后一天,即为上季度末日期(2023-03-31)
修改后逻辑:
- 同样先获取当前季度初,
add_months(..., -4)将日期往前推4个月(2023-04-01往前推4个月为2022-12-01) last_day(...)取该月最后一天,即为上上个季度末日期(2022-12-31,符合示例要求)
- 同样先获取当前季度初,
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

