1銆乤dd_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
聽聽
SQL>聽聽
聽聽
2銆乧urrent_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
聽聽
SQL>聽聽
聽聽
3銆乧urrent_timestamp()浠imestamp with time zone鏁版嵁綾誨瀷榪斿洖褰撳墠浼氭斁鏃跺尯涓殑褰撳墠鏃ユ湡
timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])
SQL> column sessiontimezone for a15
SQL> column current_timestamp format a36
SQL> select sessiontimezone,current_timestamp from dual;
聽聽
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ------------------------------------
+08:00聽 聽聽 聽聽 聽 13-11鏈?03 11.56.28.160000 涓婂崍 +08:
聽 聽聽 聽聽 聽聽 聽聽 聽聽聽00
聽聽
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.58.00.243000 涓嬪崍 -11:
聽 聽聽 聽聽 聽聽 聽聽 聽聽聽00
聽聽
SQL>聽聽
聽聽
4銆乨btimezone()榪斿洖鏃跺尯
varchar_value:=dbtimezone
SQL> select dbtimezone from dual;
聽聽
DBTIME
------
-07:00
聽聽
SQL>聽聽
聽聽
5銆乪xtract()鎵懼嚭鏃ユ湡鎴栭棿闅斿肩殑瀛楁鍊?
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
聽聽
SQL>聽聽
聽聽
6銆乴ast_day()榪斿洖鍖呭惈浜嗘棩鏈熷弬鏁扮殑鏈堜喚鐨勬渶鍚庝竴澶╃殑鏃ユ湡
date_value:=last_day(date_value)
SQL> select last_day(date'2000-02-01') "Leap Yr?" from dual;
聽聽
Leap Yr?
----------
29-2鏈?-00
聽聽
SQL> select last_day(sysdate) "Last day of this month" from dual;
聽聽
Last day o
----------
30-11鏈?03
聽聽
SQL>聽聽
聽聽
7銆乴ocaltimestamp()榪斿洖浼氳瘽涓殑鏃ユ湡鍜屾椂闂?
timestamp_value:=localtimestamp
SQL> column localtimestamp format a28
SQL> select localtimestamp from dual;
聽聽
LOCALTIMESTAMP
----------------------------
13-11鏈?03 12.09.15.433000
涓嬪崍
聽聽
SQL> select localtimestamp,current_timestamp from dual;
聽聽
LOCALTIMESTAMP聽 聽聽 聽聽 聽聽 聽聽 聽CURRENT_TIMESTAMP
---------------------------- ------------------------------------
13-11鏈?03 12.09.31.006000聽 聽13-11鏈?03 12.09.31.006000 涓嬪崍 +08:
涓嬪崍聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽 00
聽聽
SQL> alter session set time_zone='-11:00';
聽聽
浼氳瘽宸叉洿鏀廣?
聽聽
SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual;
聽聽
LOCALTIMESTAMP聽 聽聽 聽聽 聽聽 聽聽 聽SYSDATE
---------------------------- ------------------------
12-11鏈?03 05.11.31.259000聽 聽13-11-2003 12:11:31 涓嬪崍
涓嬪崍
聽聽
SQL>聽聽
聽聽
8銆乵onths_between()鍒ゆ柇涓や釜鏃ユ湡涔嬮棿鐨勬湀浠芥暟閲?
number_value:=months_between(date_value,date_value)
SQL> select months_between(sysdate,date'1971-05-18') from dual;
聽聽
MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')
----------------------------------------
聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽 389.855143
聽聽
SQL> select months_between(sysdate,date'2001-01-01') from dual;
聽聽
MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')
----------------------------------------
聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽聽 聽 34.4035409
聽聽
SQL>聽聽
聽聽
9銆乶ext_day()緇欏畾涓涓棩鏈熷鹼紝榪斿洖鐢辯浜屼釜鍙傛暟鎸囧嚭鐨勬棩瀛愮涓嬈″嚭鐜板湪鐨勬棩鏈熷鹼紙搴旇繑鍥炵浉搴旀棩瀛愮殑鍚嶇О瀛楃涓詫級
10銆乨ate = to_date('2005-3-16 16:55:36','YYYY-MM-DD HH24:MI:SS');

]]>