1.months_between(date1,date2);date1和date2相减得到相差的月份。
select months_between(to_date(\'2015-05-11\',\'yyyy-MM-dd\'),to_date(\'2015-04-11\',\'yyyy-MM-dd\')) from dual ;相差一个月。
2.ceil(date1-date2);date1-date2相减得到相差的天数
select ceil(To_date(\'2015-05-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2015-04-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') )from dual ;相差30天。
3.获取两时间相差的豪秒数 ceil((date1 - date2) * 24 * 60 * 60 * 1000)
select ceil((To_date(\'2015-05-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2015-04-11 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 * 60 * 60 * 1000) FROM DUAL;
4.获取两时间相差的秒数 ceil((date1 - date2) * 24 * 60 * 60 )
select ceil((To_date(\'2015-05-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2015-04-11 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 * 60 * 60 ) FROM DUAL;
5.获取两时间相差的分钟数 ceil((date1 - date2) * 24 * 60 )
select ceil((To_date(\'2015-05-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2015-04-11 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 * 60 ) FROM DUAL;
6.获取两时间相差小时数 ceil((date1 - date2) * 24 )
select ceil((To_date(\'2015-05-11 00:00:00\' , \'yyyy-mm-dd hh24-mi-ss\') - To_date(\'2015-04-11 23:59:59\' , \'yyyy-mm-dd hh24-mi-ss\')) * 24 ) FROM DUAL;
7.其他
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,TO_CHAR(sysdate+1,\'yyyy-mm-dd HH24:MI:SS\') from dual; --加1天
select sysdate,TO_CHAR(sysdate+1/24,\'yyyy-mm-dd HH24:MI:SS\') from dual; --加1小时
select sysdate,TO_CHAR(sysdate+1/24/60,\'yyyy-mm-dd HH23:MI:SS\') from dual; --加1分钟
select sysdate,TO_CHAR(sysdate+1/24/60/60,\'yyyy-mm-dd HH23:MI:SS\') from dual; --加1秒
相关文章: