1、pgsql 非工作日的下一个工作日获取

本文是一段SQL查询代码,用于从数据库中提取日期信息,判断是工作日、周末还是节假日,并计算下一个工作日。该查询通过LEFTJOIN和窗口函数实现复杂的数据处理。
摘要由CSDN通过智能技术生成
SELECT  aa.ds 日期
        ,weekend_flag 是否周末
        ,holiday_flag 是否为节假日
        ,holiday_name 节假日名称 
        ,is_workday   是否工作日
        ,tt.next_workdate 下一个工作日
FROM    dim_date aa
LEFT JOIN   (
                SELECT  a.ds 
                        ,next_workdate
                FROM    dim_date a
                LEFT JOIN   (
                                SELECT  ds
                                        ,LAG(ds,-1) OVER (ORDER BY ds ) next_workdate
                                        ,is_workday
                                WHERE   is_workday = '工作日'
                            ) b
                ON      a.ds BETWEEN b.ds AND next_workdate
                WHERE   a.ds <> b.next_workdate
            ) tt
ON      aa.ds = tt.ds
ORDER BY aa.ds DESC

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值