oracle9i中时间格式转换(毫秒级相减)?

hanzs 2008-06-13 01:42:49
各位大侠:
我在oracle9i中通过select to_char(sysdate,'yyyymmddhh24misssss') from dual查询获得了毫秒的时间,但是我将其以字符串形式写进数据库后,用select to_date('20080613133654002','yyyymmddhh24misssss') from dual想将时间转换成毫秒却转换不了???哪位知道怎么能将字符'20080613133654002'转换成毫秒的时间,因为我这里要用两个时间相减,精确到毫秒!!!
谢谢!
...全文
764 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2008-06-13
  • 打赏
  • 举报
回复
你要是非用毫秒,可以使用systimestamp函数获得时间戳,两个时间戳相减类型为Interval,你查一下相关的资料吧!to_timestamp()可以将字符串转换成时间戳类型。
hanzs 2008-06-13
  • 打赏
  • 举报
回复
现在表中的时间字段的格式为 "yyyy-mm-dd hh24:mi:ss",不知道怎么才能将其转换成毫秒的形式后再相减??
hanzs 2008-06-13
  • 打赏
  • 举报
回复
现在表中已经有的时间格式为 yyyy-mm-dd hh24:mi:ss,我怎么才能将两个时间的字段转换成毫秒的形式再相减得到结果???
hanzs 2008-06-13
  • 打赏
  • 举报
回复
哦!原来我还是弄错了。那我现在怎么样才能将数据库中的两个时间字段转换成毫秒后再相减呢?
hebo2005 2008-06-13
  • 打赏
  • 举报
回复
SELECT   (  TO_DATE ('20080613134749650', 'yyyymmddhh24misssss')
- TO_DATE ('20080613134549548 ', 'yyyymmddhh24misssss')
)
* 1440
* 60
* 1000
FROM DUAL

结果
102000
fibbery 2008-06-13
  • 打赏
  • 举报
回复
SSSSS五个S并不是毫秒数,而是从午夜0点到现在的秒数!
hebo2005 2008-06-13
  • 打赏
  • 举报
回复
select to_char(sysdate,'yyyymmddhh24misssss') from dual
结果
20080613134549548

select to_date(to_char(sysdate,'yyyymmddhh24misssss'),'yyyymmddhh24misssss') from dual
结果
2008/6/13 13:46:43

select to_char(to_date(to_char(sysdate,'yyyymmddhh24misssss'),'yyyymmddhh24misssss'),'yyyymmddhh24misssss') from dual
结果

20080613134749650
hebo2005 2008-06-13
  • 打赏
  • 举报
回复
怎么会转换不了呢,只是不显示毫秒级而已

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧