我正在尝试将部分月份添加到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返回?
答案 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