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

Oracle日期函数归总

1.add_months()用于从一个日期值增加或减少一些月份

?


???

?


语法:date_value:=add_months(date_value,number_of_months)

?


?

SQL>?select?add_months(sysdate,12)?"Next?Year"?from?dual;

  Next?Year

  ----------

  13-11-04

  SQL>?select?add_months(sysdate,112)?"Last?Year"?from?dual;

  Last?Year

  ----------

  13-3月?-13

?

2.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

3.dbtimezone()返回时区

?

?

?

语法:varchar_value:=dbtimezone

SQL>?select?dbtimezone?from?dual;

  DBTIME

  ------

  -07:00

<!--EndFragment-->

4.extract()找出日期或间隔值的字段值

??

语法:date_value:=extract(date_field?from?[datetime_value|interval_value])

??

?

SQL>?select?extract(month?from?sysdate)?"This?Month"?from?dual;

?

  This?Month

  ----------

  11

  SQL>?select?extract(year?from?add_months(sysdate,36))?"3?Years?Out"?from?dual;

  3?Years?Out

  -----------

  2006

?

?

5.last_day()返回包含了日期参数的月份的最后一天的日期

?

语法:date_value:=last_day(date_value)

?

SQL>?select?last_day(date'2000-02-01')?"Leap?Yr?"?from?dual;

  Leap?Yr?