日期:2014-05-16  浏览次数:20407 次

Oracle数据库之SQL单行函数---日期函数集锦

       前言  

           Oracle数据库的日期函数是十分强大的,而且也比较的多。笔者将之整理下来供日后的参考

      使用。于自己便利,也于别人便利!

       常用日期型函数

              1、Sysdate: 当前的日期和时间

            select Sysdate from dual; 
              2、Last_day():某个时间所在月的最后一天
            select Sysdate from dual; 
                    
              3、Add_moths(d,n):当前日期d后推n个月,一般用于从一个日期值增加或者减少一些月份 
            select Add_months(Sysdate,12) from dual;--增加一年
            select Add_months(Sysdate,-12) from dual;--减少12个月
                    这两结果就不演示了。
              4、Months_between(f,s):日期f和s之间相差的月数

            select months_between(sysdate,to_date('2012-11-12','yyyy-mm-dd'))from dual; 
                    

                    至于to_date()的用法接下来会有介绍
              5、Next_day(d,day_of_week):返回有day_of_week命名的,在变量d中指定的日期之后的

                    第几个工作日的日期。(day_of_week必须为该星期中的某一天)   

          select next_day(sysdate,3) from dual;
                    看看结果吧:

                   

                    为什么会出现这种结果呢?因为1代表的是周日,这里的3代表的是周2,看看笔者的

                    系统时间已经过了周二了,那么它会表示下周的周二

               6、Current_date():返回当前会话时区中的当前日期       

            alter session set time_zone='-11:00' ;
            select sessiontimezone,current_timestamp from dual; 
               7、dbtimezone():返回时区
            select dbtimezone from dual;
               8、extract():找出日期或间隔值的字段值
            --月份的间隔值
            select extract(month from sysdate) "This Month&