oracle日期处理全集,全活儿
1、add_months(d,n) 日期d加n个月
SQL> SELECT SYSDATE AS This_Day,add_months(SYSDATE,1) AS Next_Day FROM dual; THIS_DAY NEXT_DAY
-------------- ------------
08-9月 -10 08-10月-10
2、last_day(d) 包含d的月份的最后一天的日期
SQL> select last_day(sysdate) as last_day from dual;
LAST_DAY
-----------
30-9月 -10
3、new_time(d,a,b) 时区的日期和时间d在b时区的日期和时间
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as china,
to_char(new_time(sysdate,'est','GMT'),'YYYY-MM-DD HH24:MI:SS') as GMT
from dual;
CHINA GMT
------------------- -------------------
2010-09-08 09:51:50 2010-09-08 14:51:50
4、next_day(d,day) 比日期d晚,由day指定的周几的日期
SQL> select sysdate as this_day, next_day(sysdate,7) as next_sat from dual;
THIS_DAY NEXT_SAT
-------------- --------------
08-9月 -10 11-9月 -10
N天前的日期:
SQL> select to_date(to_char(sysdate-5, 'yyyy-MM-dd'), 'yyyy-MM-dd') from dual;
5、sysdate 当前的系统日期和时间
6、greatest(d1,d2,...dn) 给出的日期列表中最后的日期
SQL> select sysdate as this_day,greatest(sysdate,sysdate+1,sysdate+2) as max_day from dual; THIS_DAY MAX_DAY
-------------- --------------
08-9月 -10 10-9月 -10
7、least(d1,k2,...dn) 给出的日期列表中最早的日期
SQL> select sysdate as this_day,least(sysdate,sysdate+1,sysdate-1) as min_day from dual; THIS_DAY MIN_DAY
-------------- --------------
08-9月 -10 07-9月 -10
8、to_char(d [,fmt]) 日期d按fmt指定的格式转变成字符串
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as today from dual;
TODAY
-------------------