oracle 的日期可以直接进行+,- 运算

解决方案 »

  1.   

    1。Sysdate 当前日期和时间
    SQL> Select sysdate from dual;SYSDATE
    ----------
    21-6月 -052。Last_day 本月最后一天 
    SQL> Select last_day(sysdate) from dual;LAST_DAY(S
    ----------
    30-6月 -053。Add_months(d,n) 当前日期d后推n个月 
    用于从一个日期值增加或减少一些月份 
    date_value:=add_months(date_value,number_of_months)SQL> Select add_months(sysdate,2) from dual;ADD_MONTHS
    ----------
    21-8月 -054。Months_between(f,s) 日期f和s间相差月数 
    SQL> select months_between(sysdate,to_date('2005-11-12','yyyy-mm-dd'))from dual;MONTHS_BETWEEN(SYSDATE,TO_DATE('2005-11-12','YYYY-MM-DD'))
    ----------------------------------------------------------
                                                    -4.6966741 5。NEXT_DAY(d, day_of_week)
    返回由"day_of_week"命名的,在变量"d"指定的日期之后的第一个工作日的日期。参数"day_of_week"必须为该星期中的某一天。
    SQL> SELECT next_day(to_date('20050620','YYYYMMDD'),1) FROM dual;NEXT_DAY(T
    ----------
    26-6月 -056。current_date()返回当前会话时区中的当前日期 
    date_value:=current_date 
    SQL> column sessiontimezone for a15 
    SQL> select sessiontimezone,current_date from dual; SESSIONTIMEZONE CURRENT_DA 
    --------------- ---------- 
    +08:00          13-11月-03 
      
    SQL> alter session set time_zone='-11:00' 2  / 
    会话已更改。 
      
    SQL> select sessiontimezone,current_timestamp from dual; SESSIONTIMEZONE CURRENT_TIMESTAMP 
    --------------- ------------------------------------ 
    -11:00          12-11月-03 04.59.13.668000 下午 -11:00 7。current_timestamp()以timestamp with time zone数据类型返回当前会话时区中的当前日期
    SQL> select current_timestamp from dual;CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    21-6月 -05 10.13.08.220589 上午 +08:008。dbtimezone()返回时区
    SQL> select dbtimezone from dual;DBTIME
    ------
    -08:009。extract()找出日期或间隔值的字段值 
    date_value:=extract(date_field from [datetime_value|interval_value]) 
    SQL> select extract(month from sysdate) "This Month" from dual;This Month
    ----------
             6SQL> select extract(year from add_months(sysdate,36)) " Years" from dual;     Years
    ----------
          200810。localtimestamp()返回会话中的日期和时间 
    SQL> select localtimestamp from dual;