我有一个要求生成到帐单周期日期,例如
如果我的输入是3月27日,那么我的下一个周期从4月27日开始。
如果输入是1月10日,那么下一个周期应该从2月10日开始。
我使用的是oracle add\u month(i/p date,1)。这增加了一个新的月份,给我相同的日期为下个月,工作罚款为上述日期。
但有一种情况是,我的输入日期是2018年2月28日,如果我从dual中选择了add\u months(日期“2018-02-28”,1),那么输出日期是2018年3月31日。
我预计结果应该是3月28日。这件案子有什么可行的解决办法。
3条答案
按热度按时间ljsrvy3e1#
稍微计算一下可能会有所帮助。
3gtaxfhh2#
上面的查询将显示3月31日,因为2月28日是2018年的最后一天,并且由于您使用的是add\u months功能,所以它将考虑每个月的最后一天。执行下面的查询,你会很容易理解,
33qvvth13#
您可以使用下面的代码,并相应地添加2月29日的条件,以及如果你想。