首页 > 解决方案 > Oracle 日期操作

问题描述

我在代码中有这一行:

SELECT (SYSDATE - MAX (STARTED)) * 3600 * 24 

开始日期是:7.6.2018 14:39:51

*3600*24 是什么意思???

谢谢

标签: sqloracledate

解决方案


日期之间的差异以天数给出。

天数 *24*60*60 给出秒数。

例如:

select diff days,
       diff*24 hours,
       diff*24*60 minutes,
       diff*24*60*60 seconds
from ( select date '2018-06-07' - date '2018-06-06' diff from dual)

      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
         1         24       1440      86400

和这个

select diff days,
       diff*24 hours,
       diff*24*60 minutes,
       diff*24*60*60 seconds
from ( select to_date('2018-06-07 15:30:45', 'yyyy-mm-dd hh24:mi:ss')
            - to_date('2018-06-07 14:00:00', 'yyyy-mm-dd hh24:mi:ss') diff from dual)

      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
.063020833     1.5125      90.75       5445

推荐阅读