Oracle的日期函数
程序员文章站
2022-05-09 15:56:22
...
一 系统时间
1、语法
SYSDATE
默认格式:DD-MON-RR(日 月 年)
2、实例
SQL>select sysdate from dual;
SYSDATE
--------------
02-7月-17
二 日期操作
1、语法
ADD_MONTHS(date,i):返回在指定日期上添加月份。
i可以任何整数,如果i是小数,则截取整数部分
i如果是负数,则相当于在原日期减去月份。
NEXT_DAY(date,char)
如果char的值是‘星期一’,则返回date指定日期的下周一时哪天。
LAST_DAY(date):返回每个月的最后一天。
MONTH_BETWEEN(date1,date2)
EXTRACT(date from datetime)
2、实例
SQL>select add_months(sysdate,3),add_months(sysdate,-3)from dual;
ADD_MONTHS(SYS ADD_MONTHS(SYS
----------------------------
02-10月-1702-4月-17
SQL>select next_day(sysdate,'星期一')from dual;
NEXT_DAY(SYSDA
--------------
03-7月-17
SQL>select next_day(sysdate,'星期日')from dual;
NEXT_DAY(SYSDA
--------------
09-7月-17
SQL>select last_day(sysdate)from dual;
LAST_DAY(SYSDA
--------------
31-7月-17
SQL>select month_betweens('20-5月-15','10-1月-15')from dual;
select month_betweens('20-5月-15','10-1月-15')from dual
*
第1行出现错误:
ORA-00904:"MONTH_BETWEENS":标识符无效
SQL>select months_between('20-5月-15','10-1月-15')from dual;
MONTHS_BETWEEN('20-5月-15','10-1月-15')
---------------------------------------
4.32258065
SQL>select extract(year from sysdate)from dual;
EXTRACT(YEARFROMSYSDATE)
------------------------
2017
SQL>select extract(month from sysdate)from dual;
EXTRACT(MONTHFROMSYSDATE)
-------------------------
7
SQL>select extract(day from sysdate)from dual;
EXTRACT(DAYFROMSYSDATE)
-----------------------
2
SQL>select extract(hour from timestamp '2017-10-1 17:24:34')from dual;
EXTRACT(HOURFROMTIMESTAMP'2017-10-117:24:34')
---------------------------------------------
17
SQL>