1:add_months(d,x),返回日期d加上x個月后的日期。
2:last_day(d),返回日期d月份最后一天的日期。
3:months_between(date1,date2),返回date1和date2之間的月數。如果date1和date2日期的“日”相同或兩日期都是所在月最后一天,則返回整數,否則返回結果將包含一個分數部分。
select months_between(to_date('20081105','yyyymmdd'),to_date('20081005','yyyymmdd')) from dual;返:1
select months_between(to_date('20081130','yyyymmdd'),to_date('20081031','yyyymmdd')) from dual;返回:1
select months_between(to_date('20081031','yyyymmdd'),to_date('20081130','yyyymmdd')) from dual;返回:-1
select months_between(to_date('20081105','yyyymmdd'),to_date('20081025','yyyymmdd')) from dual;返回:0.354838709677419
4:求兩日期間的時數差
select (to_date('200811241130','yyyymmddhh24mi') - to_date('200811240800','yyyymmddhh24mi')) * 24 from dual;返回:3.5
5:求某日期前后几天的日期
select to_date('20081105','yyyymmdd')+1 from dual;返回:2008-11-06
select to_date('20081105','yyyymmdd')-6 from dual;返回:2008-10-30
6:求當月最后一天日期
select last_day(to_date('20081105','yyyymmdd')) from dual;返回:2008-11-30
7:求當月天數
select to_number(substr(to_char(last_day(to_date('20081105','yyyymmdd')),'yyyymmdd'),7,2)) from dual;返回:30
8:求星期几
select to_char(to_date('20081105','yyyymmdd'),'d') from dual;返回:4
1:星期天,2:星期一,3:星期二,4星期三,5:星期四,6:星期五,7:星期六