区别两个时间戳(DDMMMYY HH:MM:SS:SSSSSSSSS_1)

时间:2016-05-02 15:39:21

标签: sql oracle

我想找到两个Date_time值之间的区别?有人可以帮忙吗?

此致 阿西克

1 个答案:

答案 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