抓狂的图片带文字:oracle常用日期函数 months

来源:百度文库 编辑:中财网 时间:2024/04/27 14:59:51

oracle常用日期函数 months_between add_months next_day to_date() to_Number to_char  

2008-04-07 15:06:08|  分类: Oracle |字号 订阅

函  数

功  能

实  例

结  果

months_between

返回两个日期间的

月份

months_between ('04-11月-05','11-1月-01')

57.7741935

add_months

返回把月份数加到日期上的新日期

add_months('06-2月-03',1)

add_months('06-2月-03',-1)

06-3月-03

06-1月-03

next_day

返回指定日期后的星期对应的新日期

next_day('06-2月-03','星期一')

10-2月-03

last_day

返回指定日期所在的月的最后一天

last_day('06-2月-03')

28-2月-03

round

 

 

 

按指定格式对日期进行四舍五入

 

 

round(to_date('13-2月-03'),'YEAR')

round(to_date('13-2月-03'),'MONTH')

round(to_date('13-2月-03'),'DAY')

 

01-1月-03

01-2月-03

16-2月-03

(按周四舍五入)

trunc

 

 

 

对日期按指定方式进行截断

 

 

trunc(to_date('06-2月-03'),'YEAR')

trunc(to_date('06-2月-03'),'MONTH')

trunc(to_date('06-2月-03'),'DAY')

 

01-1月-03

01-2月-03

02-2月-03

(按周截断)


【训练3】  假定当前的系统日期是2003年2月6日,求再过1000天的日期。 输入并执行查询: SELECT sysdate+1000 AS "NEW DATE" FROM dual; 返回结果为: NEW DATE ---------------- 04-11月-05  说明:该查询使用到了日期的加法运算,求经过一定天数后的新日期。  // 直接用+来做天数加法
【训练4】  假定当前的系统日期是2003年2月6日,显示部门10雇员的雇佣天数。 输入并执行查询: SELECT ename, round(sysdate-hiredate) DAYS FROM   emp WHERE  deptno = 10; 返回结果为: ENAME            DAYS --------------- --------------------- CLARK            7913 KING              7752 MILLER           7685 说明:该查询使用日期的减法运算求两个日期的相差天数。用round函数对天数进行四舍五入。// 减法