添加2个月到当前时间戳 [英] Add 2 months to current timestamp

查看:192
本文介绍了添加2个月到当前时间戳的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Oracle中添加几个月的时间戳值?在我的查询中,它被转换为日期值:

How can I add months to a timestamp value in Oracle? In my query, it's getting converted to date value instead:

     SELECT add_months(current_timestamp,2) 
     FROM   dual;

实际输出是:

     ADD_MONTH
     11-MAR-13

预期输出是:

    2013-01-01 00:00:00.000000000+00:00


推荐答案

对于Oracle:

SELECT
  TIMESTAMP'2014-01-30 08:16:32',                                  -- TS we want to increase by 1 month
--TIMESTAMP'2014-01-30 08:16:32' + NUMTOYMINTERVAL(1, 'MONTH'),    -- raises ORA-01839: date not valid for month specified
--TIMESTAMP'2014-01-30 08:16:32' + INTERVAL '1' MONTH,             -- raises ORA-01839: date not valid for month specified
  ADD_MONTHS(TIMESTAMP'2014-01-30 08:16:32', 1),                   -- works but is a date :(
  CAST(ADD_MONTHS(TIMESTAMP'2014-01-30 08:16:32', 1) AS TIMESTAMP) -- works
FROM DUAL

这篇关于添加2个月到当前时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆