技术学习视频教程网盘资源整理 https://pan.baidu.com/s/13dbR69NLIEyP1tQyRTl4xw 两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 为相差的小时数 oracle 两个时间相减默认的是天数*24*60 为相差的分钟数 oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数 如下: SQL>select sysdate from dual; 2008-2-20 14:32:35 SQL> select (sysdate-to_date('2008-02-17 23:00:00','yyyy-mm-dd hh24:mi:ss')) from dual;
SQL> select (sysdate-to_date('2008-02-17 23:00:00','yyyy-mm-dd hh24:mi:ss'))*24 from dual;
SQL> select (sysdate-to_date('2008-02-17 23:00:00','yyyy-mm-dd hh24:mi:ss'))*24*60*60 from dual; 1、对于2个DATE类型直接相减,就可以得到天数的值,如:
select to_date('2006-05-11 12:30:01','YYYY-MM-DD HH24:MI:SS') -to_date('2006-05-11 12:30:00','YYYY-MM-DD HH24:MI:SS') T from dual;
结果: T ------------------- .000011574
这个得到的天数很容易换算成秒,如 0.000011574*24*60*60=1s。
2、在ORACLE里日期类型是可以直接进行比较的。举个例子 SQL> SELECT to_date('2006-12-05', 'yyyy-mm-dd') - to_date('2006-12-07', 'yyyy-mm-dd') FROM dual ;这说明2006-12-05要比7号早2天。 SQL> SELECT to_date('2006-12-07 14:23:24' , 'yyyy-mm-dd hh24:mi:ss') + 1/24 FROM dual ;这是说明在某一时间上加一小时,1是代表一天,1/24就是一小时,同理1/24/60就是一分钟 select trunc(sysdate) - trunc(to_date('2006-05-28 10:20','YYYY-MM-DD HH24:MI')) from dual
|