Oracle 几个简单的日期函数

来源:互联网 发布:商务时空软件通科云盟 编辑:程序博客网 时间:2024/06/18 11:50

Oracle系统中,有如下几个经常使用的日期函数:

1、Months_Between()

格式:Months_Between(startdate,enddate)

统计startdate到enddate之前总共有多少个月份;

用法:select months_between(to_date('1998-12-12','YYYY-MM-DD'),to_date('1988-12-12','YYYY-MM-DD')) from dual;--结果为120,即10年;

在调用日期函数时,常常会因为sql中的日期格式同系统格式不统一,倒是查询报ora-01843错误,遇到这种问题,可以通过如下语句查询DB默认的参数信息,或者直接使用日期函数to_date(date,formate)将日志格式统一掉;

select * from nls_database_parameters

2、Add_Months()

格式:Add_months(startdate,months)

计算从startdate算起,第“mounts”月份后的日期;

用法:select sysdate from dual;--结果为:2013/5/31 10:53:05

           select add_months(sysdate,10) from dual;--结果为:2014/3/31 10:53:55

3、Next_Day()

格式:Next_Day(date,nextweek)

计算从日期date起,下一个nextweek的日期;

用法:select next_day(to_date('1999-01-01','YYYY-MM-DD'),'星期一') from dual;--结果为:1999/1/4

4、Last_Day()

格式:Last_Day(startday)

计算startday这个日期本月的最后一天的日期;

用法:select last_day(to_date('1999-01-01','YYYY-MM-DD')) from dual;--结果为:1999/1/31

5、日期函数可以同日期或者数字进行加减运算:

日期+数字=日期

select to_date('1999-12-12','YYYY-MM-DD')-12 from dual;--结果为:1999/11/30

日期-数字=日期

select to_date('1999-12-12','YYYY-MM-DD')+12 from dual;--结果为:1999/12/24

日期-日期=数字

select to_date('1999-12-12','YYYY-MM-DD')-to_date('1999-12-01','YYYY-MM-DD') from dual;--结果为:11

原创粉丝点击