hyq0002013

Oracle计算时间差表达式 

 

--获取两时间的相差豪秒数

select ceil((To_date(\'2008-05-02 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2008-04-30 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;

/*

相差豪秒数

----------

  86401000

1 row selected

*/

 

--获取两时间的相差秒数

select ceil((To_date(\'2008-05-02 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2008-04-30 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 * 60 * 60) 相差秒数 FROM DUAL;

/*

相差秒数

----------

     86401

1 row selected

*/

 

--获取两时间的相差分钟数

select ceil(((To_date(\'2008-05-02 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2008-04-30 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\'))) * 24 * 60)  相差分钟数 FROM DUAL;

/*

相差分钟数

----------

      1441

1 row selected

*/

 

--获取两时间的相差小时数

select ceil((To_date(\'2008-05-02 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2008-04-30 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24)  相差小时数 FROM DUAL;

/*

相差小时数

----------

        25

1 row selected

*/

 

--获取两时间的相差天数

select ceil((To_date(\'2008-05-02 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2008-04-30 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')))  相差天数 FROM DUAL;

/*

相差天数

----------

         2

1 row selected

*/

 

--获取两时间月份差

select (EXTRACT(year FROM to_date(\'2009-05-01\',\'yyyy-mm-dd\')) - EXTRACT(year FROM to_date(\'2008-04-30\',\'yyyy-mm-dd\'))) * 12 + 

       EXTRACT(month FROM to_date(\'2008-05-01\',\'yyyy-mm-dd\')) - EXTRACT(month FROM to_date(\'2008-04-30\',\'yyyy-mm-dd\')) months

from dual;

/*

MONTHS

----------

        13

1 row selected

*/

 

--获取两时间年份差

select EXTRACT(year FROM to_date(\'2009-05-01\',\'yyyy-mm-dd\')) - EXTRACT(year FROM to_date(\'2008-04-30\',\'yyyy-mm-dd\')) years from dual;

/*

YEARS

----------

         1

1 row selected

*/

分类:

技术点:

相关文章:

  • 2021-11-14
  • 2021-09-03
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2022-01-10
  • 2022-12-23
相关资源
相似解决方案