如何将天数添加到时间戳?如果我的时间戳是01-JAN-2011 11-09-05
,并且我要添加2天,则我希望得到03-JAN-2011 11-09-05
。
如何将天数添加到时间戳?如果我的时间戳是01-JAN-2011 11-09-05
,并且我要添加2天,则我希望得到03-JAN-2011 11-09-05
。
select '01-jan-2011 11-09-05' + interval '2' day
完全基于Oracle的解决方案是,将时间戳值增加2,因为Oracle日期/时间戳的默认间隔是天:
SELECT TO_TIMESTAMP('01-jan-2011 11-09-05','DD-Mon-YYYY HH24-MI-SS') + 2
FROM dual;
+
可能会丢失时区信息。 - Antoine Martin在类似的情况下,我使用了:
SELECT TO_TIMESTAMP('01-jan-2011 11-09-05','DD-Mon-YYYY HH24-MI-SS') + NUMTODSINTERVAL(2, 'DAY')
否则,表达式会被转换为日期并失去精度。请参见:NUMTODSINTERVAL文档
+
更好,因为我注意到后者会丢失时区信息。 - Antoine Martin