怎么样oracle 中取得系统时间sysadte 减去冲数据库中取得的timestamp日期相减得到天数

如题所述

select sysdate,systimestamp,sysdate-systimestamp from dual
一个没毫秒,一个有毫秒追问

可以直接减,但是结果不是想要的,我要减之后的天数

追答

select to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd')-to_date(to_char(systimestamp,'yyyy-mm-dd'),'yyyy-mm-dd') from dual

不知道还有没有更简单的。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-20
Trunc(CDate(sysdate) - CDate(timestamp))追问

那个CDate是什么,to_date? 这个不行

追答

ceil(to_date(sysdate,'yyyy-mm-dd') - to_date(timestamp,'yyyy-mm-dd'))

你都会做的,消遣我们?

追问

这个得到的不是数值 。

追答

你用的是什么?我运行出来是一个整数,你得到什么?

第2个回答  2013-06-20
你这两个时间有什么区别 ?不是都是从数据库取的?追问

就是

select sysdate-t.fd_create_time from 表名 t; 就是这个样子的。前面是系统时间,后面是数据库表中时间,表中字段类型是timestamp(6)

追答

直接两者相减不行吗 ?

追问

可以啊,但是得到的东西,不是数值,没有办法用!

追答

试试将timestamp转成date类型再进行操作

相似回答