我想找到两个Date_time值之间的区别?有人可以帮忙吗?
此致 阿西克
答案 0 :(得分:1)
你是说这个吗?
with t (first_date, second_date) as (
select to_date('2016-05-01 12:33:45', 'yyyy-mm-dd hh24:mi:ss'),
to_date('2015-12-15 20:00:00', 'yyyy-mm-dd hh24:mi:ss') from dual)
select first_date, second_date, first_date - second_date as difference from t;
FIRST_DATE SECOND_DATE DIFFERENCE
------------------- ------------------- ----------
2016-05-01 12:33:45 2015-12-15 20:00:00 137.690104
请注意,差异以天为单位(包括一天的分数)。日期可以从表中读取,也可以从函数(如SYSDATE)等中读取。
在你的标题中,你谈的是时间戳,但问题是你说date_time - 这是什么?你可以用时间戳做类似的事情,但它有点不同 - 区别在于间隔的形式(不是天数,或者是秒数等)。
编辑:在后续对话中,OP(原始海报)澄清了他对时间戳之间的区别感兴趣。对于下面的示例,我创建了一个包含两个时间戳列和输入值的表ts。查询显示了差异。时间戳的格式取决于我的个人偏好设置; DIFFERENCE是结果,它显示差异为零天,18小时,17分钟.......查询非常简单,所需要的只是算术运算"减去"在两个时间戳之间。
SQL>选择c1,c2,c1-c2作为与ts的差异;
C1 C2 DIFFERENCE
---------------------------- ---------------------------- ----------------------------
02-MAY-16 01.40.07.337000 PM 01-MAY-16 07.23.01.337235 PM +000000000 18:17:05.999765