加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 将2个月添加到当前时间戳

发布时间:2021-05-23 05:23:07 所属栏目:MsSql教程 来源:网络整理
导读:如何在Oracle中为时间戳值添加月份?在我的查询中,它转换为日期值而不是: SELECT add_months(current_timestamp,2) FROM dual; 实际输出是: ADD_MONTH 11-MAR-13 预期的输出是: 2013-01-01 00:00:00.000000000+00:00 解决方法 这将为您提供TIMESTAMP数据类

如何在Oracle中为时间戳值添加月份?在我的查询中,它转换为日期值而不是:

SELECT add_months(current_timestamp,2) 
     FROM   dual;

实际输出是:

ADD_MONTH
     11-MAR-13

预期的输出是:

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

解决方法

这将为您提供TIMESTAMP数据类型的日期和时间:
select TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSDATE,2),'YYYYMMDD HH24:MI'),'YYYYMMDD HH24:MI') from dual;

如果您需要比上述更高或更低的精度(E.G.舍入),请调整日期格式(两者都需要采用相同的格式).例如,这将返回2个月到秒的精度级别:

select TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSTIMESTAMP,'YYYYMMDD HH24:MI:SS'),'YYYYMMDD HH24:MI:SS') from dual;

这是我能得到的最接近你需要的格式(作为一个角色):

select TO_CHAR( 
TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSTIMESTAMP,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS.FF TZR') from dual;

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读