将部分月份添加到oracle中的日期

时间:2015-02-25 17:29:19

标签: sql oracle

我正在尝试将部分月份添加到oracle中的某个日期。我试过这个

SELECT months_between('1-DEC-2014',SYSDATE) FROM dual

我得到-2.79041218637993

然后我尝试将此结果添加(减去)到sysdate。

SELECT add_months(trunc(SYSDATE), -2.79041218637993) FROM dual

我以为我应该得到' 1-DEC-2014'但它只增加了整整2个月而离开了.79041218637993,所以它在12/25/2014返回。

任何想法如何让它添加部分月份以便它将在12/01/2014返回?

2 个答案:

答案 0 :(得分:1)

使用add_months功能:

select add_months(sysdate, 2) from dual;

修改:要回答您的评论,只需使用

即可
select sysdate + days_between('1-DEC-2014',SYSDATE) from dual;

答案 1 :(得分:0)

减去2个月然后截断到月份。

SELECT TRUNC(add_months(trunc(SYSDATE), -2),'MM') FROM dual