首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle:将毫秒添加到我的时间戳对象

问Oracle:将毫秒添加到我的时间戳对象
EN

Stack Overflow用户
提问于 2017-10-18 20:35:04
回答 2查看 12.1K关注 0票数 3

我想将毫秒添加到我的时间戳对象中。例如,我必须将时间戳值递增25毫秒。

我以此为例

代码语言:javascript
复制
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毫秒,那么理想情况下秒字段应该递增。我们知道有一种方法可以将时间戳转换为毫秒。有没有办法把毫秒转换回时间戳?或者,是否有任何方法可以将毫秒添加到时间戳对象中,以反映以秒为单位的更改?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-18 20:41:03

您可以通过添加时间间隔来向时间戳添加时间。间隔可以减少到秒,但0.001秒的间隔是一个毫秒间隔,您可以将其与所需的值相乘。例如:

代码语言:javascript
复制
select systimestamp + interval '0.001' second * :millisecs from dual;
票数 10
EN

Stack Overflow用户

发布于 2017-10-18 20:38:04

使用间隔文字:

代码语言:javascript
复制
SELECT SYSTIMESTAMP + INTERVAL '0.025' SECOND
FROM   DUAL

或者使用NUMTODSINTERVAL动态创建间隔

代码语言:javascript
复制
SELECT SYSTIMESTAMP + NUMTODSINTERVAL( 25 / 1000, 'SECOND' )
FROM   DUAL

或者,使用绑定变量:

代码语言:javascript
复制
SELECT SYSTIMESTAMP + NUMTODSINTERVAL( :milliseconds / 1000, 'SECOND' )
FROM   DUAL
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46810329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档