oracle中如何增加多少毫秒

menxin 发布于 2015/06/05 11:04
阅读 553
收藏 0
遇到一个问题,我们有个程序设定为需要每隔2秒钟才能访问,在oracle中做了一个限制,加一个时间戳,精确到毫秒,使用的是timestamp类型存储,原来的逻辑是timestamp+2/24/60/60,结果我今天发现这样运算的结果都精确到秒了,毫秒级全是00000,请问怎么才能精确到毫秒级2秒以后?
加载中
0
jolphin
jolphin

SYSTIMESTAMP+数字 会发生类型转换,转换成date类型,应该这样计算才是正确的SELECT SYSTIMESTAMP+NUMTODSINTERVAL(2, 'second') FROM dual;

0
menxin
menxin

引用来自“茶壶”的评论

,FF9得部分就是啊,后面的就是。to_timestamp('0000/00/00 00:00:00,002000000', 'yyyy/mm/dd hh24:mi:ss,ff9'),你那2/24/60/60是什么东西

就是2秒后的才能访问的逻辑,现在解决了

 select to_timestamp(to_char(systimestamp+2/24/60/60, 'yyyy-mm-dd hh24:mi:ss')||to_char(systimestamp, ':ff3'),'yyyy-mm-dd hh24:mi:ss:ff3') from dual;

0
menxin
menxin

引用来自“jolphin”的评论

SYSTIMESTAMP+数字 会发生类型转换,转换成date类型,应该这样计算才是正确的SELECT SYSTIMESTAMP+NUMTODSINTERVAL(2, 'second') FROM dual;

这个答案更好!
返回顶部
顶部