oracle日期操作

时间:2024-11-19 23:37:50

日期操作:
ADD_MONTHS(date,i)
作用 返回在自定日期上添加的月份
i是整数 如果i是小数,则截取整数部分
i是负数 原有日期减去相应部分
例子:
SQL> select add_months(sysdate,3),add_months(sysdate,-3) from dual;

ADD_MONTHS(SYS ADD_MONTHS(SYS
-------------- --------------
20-7月 -16 20-1月 -16

NEXT_DAY(date,char)
如果char的值是‘星期一’,则返回date指定日期的下周一是哪天

例子:
SQL> select next_day(sysdate,'星期一') from dual;

NEXT_DAY(SYSDA
--------------
25-4月 -16

LAST_DAY(date)
返回最后一天

MONTHS_BETWEEN(date1,date2)
表示两个日期之间相隔的月份

例子:
SQL> select months_between('20-5月-15','10-1月-15') from dual;

MONTHS_BETWEEN('20-5月-15','10-1月-15')
---------------------------------------
4.32258065

EXTRACT(date FROM datetime)
返回相应的日期部分
例子:
SQL> select extract(year from sysdate)from dual;

EXTRACT(YEARFROMSYSDATE)
------------------------
2016

SQL> select extract(month from sysdate)from dual;

EXTRACT(MONTHFROMSYSDATE)
-------------------------
4

SQL> select extract(day from sysdate)from dual;

EXTRACT(DAYFROMSYSDATE)
-----------------------
20

SQL> select extract(date from sysdate)from dual;
select extract(date from sysdate)from dual

SQL> select extract (hour from timestamp '2015-10-1 17:25:13') from dual;

EXTRACT(HOURFROMTIMESTAMP'2015-10-117:25:13')
---------------------------------------------
17