关于greenplum(postgersql)日期为闰年闰月闰日的处理

在生成报表过程中,遇到一个新需求,需要从结束日期(enddate)基础上减一年生成预警日期(warndate)。由于原表(A)中存在闰日,直接减一年会导致闰年情况处理不当。解决方法是,当开始日期(startdate)包含2月29日(闰日)时,先将结束日期加一天,然后减一年,最后再减一天,确保正确计算闰年的情况。
摘要由CSDN通过智能技术生成

近日有个报表端的特殊需求,遇到了闰年闰月闰日的处理,具体如下:

新需求,生成一个新字段预警日期(warndate),要求在原表结束日期(enddate)基础上减一年 

原表(A)主要涉及三个字段:

1、启始日期(startdate)

2、年数(years)

3、结束日期(enddate)

其中:结束日期=启始日期+年数

问题:启始日期含有2月29日的闰日,而年数(years)不固定,导致结束日期(enddate)可能是闰年也可能非闰年,如果直接减一年,当结束日期前一年为闰年时,会少一天。

例如:

闰年年份
启始日期(startdate) 年数(years) 结束日期(enddate)

预警日期

(错误减一年࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值