我想将毫秒添加到我的时间戳对象中。例如,我必须将时间戳值递增25毫秒。
我以此为例
select to_char(systimestamp,'dd-mm-yyyy hh24:mi:ss.FF') as ts
, to_timestamp(to_char(sysdate,'dd-mm-yyyy hh24:mi:ss.')||to_char(to_number(to_char(systimestamp,'FF')) + 250)
,'dd-mm-yyyy hh24:mi:ss.FF') as ts_1
from dual;它工作并增加毫秒。但它不会影响秒字段。例如,如果我们添加1000毫秒,那么理想情况下秒字段应该递增。我们知道有一种方法可以将时间戳转换为毫秒。有没有办法把毫秒转换回时间戳?或者,是否有任何方法可以将毫秒添加到时间戳对象中,以反映以秒为单位的更改?
发布于 2017-10-18 20:41:03
您可以通过添加时间间隔来向时间戳添加时间。间隔可以减少到秒,但0.001秒的间隔是一个毫秒间隔,您可以将其与所需的值相乘。例如:
select systimestamp + interval '0.001' second * :millisecs from dual;发布于 2017-10-18 20:38:04
使用间隔文字:
SELECT SYSTIMESTAMP + INTERVAL '0.025' SECOND
FROM DUAL或者使用NUMTODSINTERVAL动态创建间隔
SELECT SYSTIMESTAMP + NUMTODSINTERVAL( 25 / 1000, 'SECOND' )
FROM DUAL或者,使用绑定变量:
SELECT SYSTIMESTAMP + NUMTODSINTERVAL( :milliseconds / 1000, 'SECOND' )
FROM DUALhttps://stackoverflow.com/questions/46810329
复制相似问题