PL/SQL 日期時間類型函數(shù)及運算
更新時間:2007年03月21日 00:00:00 作者:
內(nèi)部存儲格式:
世紀、年、月、日、小時、分鐘、秒
默認格式是:DD-MON-RR。
SYSDATE 返回當前的系統(tǒng)時間。
SELECT SYSDATE FROM DUAL;
對日期的數(shù)學運算
SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
數(shù)字列
ADD_MONTHS(date,x)函數(shù),返回加上X月后的日期DATE的值。X可以是任意整數(shù)。如果結果的月份中所包含的 日分量少于DATE的月份的日分量,則返回結果月份的最后一天。如果不小于,則 結果與DATE的日分量相同。時間分量也相同。
CURRENT_DATE 以DATE類型返回會話時區(qū)當前的日期。這個函數(shù)同SYSDATE相似,除了SYSDATE不管當 會話時區(qū)。
CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 類型返回會話時區(qū)當前的日期。如果 指定precision,它指返回秒數(shù)的精度,缺省為6。
DBTIMEZONE 返回數(shù)據(jù)庫的時區(qū)。
LAST_DAY(日期) 指定日期所在月份的最后一天的日期,這個函數(shù)可用來確定本月還有多少天。
LOCALTIMESTAMP[(precision)] 以TIMESTAMP類型返回會話時區(qū)的當前日期。如果指定precision,它指 返回秒數(shù)的精度,缺省為6 。
MONTHS_BETWEEN(離當前比較近的日期date1,以前的日期) 兩個日期之間相差的月數(shù)(以日作為最小單位來計算的)。返回是相差的月數(shù)。如果date1和date2的日分量相同,或者這兩個日期都分別是所在月的最后一天,那么返回結果是個整數(shù)。否則,返回結果包含一個分數(shù),以一個月31天計算。
NEW_TIME(d,zone1,zone2)函數(shù),當時區(qū)zone1中的日期和時間是D的時候,返回時區(qū)zone2中的日期和時間。
返回類型為DATE。zone1和zone2是字符字符串,另外的時區(qū)可在ORACLE9I中
通過查詢V$TIMEZONE_NAMES得到。
NEXT_DAY (日期,星期幾) 指定日期后將要遇到的后七天的某一天的日期。
ROUND(日期,‘MONTH/YEAR') 四舍五入得到新的日期。 保留位置是月和年
SESSIONTIMEZONE 返回當前會話的時區(qū)。返回類型是一個時區(qū)偏移或時區(qū)片名的字符字符串。如果指 定格式,則與 ALTER SESSION 語句中的格式相同。
SYS_EXTRACT_UTC(datetime) 從提供的DATETIME中以UTC(Coordinated Universal Time)返回時間。
DATETIME必須包含一個時區(qū)。
SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回當前的日期和時間。當在分布式SQL語句中使用的時 候,返回本地數(shù)據(jù)庫的日期和時間。
TRUNC(日期,‘MONTH/YEAR') 截取
TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之間的偏移量。timezone可以被指定為時 區(qū)名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和 DBTIMEZONE函數(shù),返回格式為'+/-HH:HI'。
字符字符串 時區(qū)
AST 大西洋標準時
ADT 大西洋夏令時
BST 白令標準時
BDT 白令夏令時
CST 中央標準時
CDT 中央夏令時
EST 東部標準時
EDT 東部夏令時
GMT 格林威治平均時
HST 阿拉斯加夏威夷標準時
HDT 阿拉斯加夏威夷夏令時
MST Mountain標準時
MDT Mountain夏令時
NST 紐芬蘭標準時
PST 太平洋標準時
PDT 太平洋夏令時
YST YuKon標準時
YDT YuKon夏令時
日期和日期時間算術
運算 返回類型
結果
d1-d2 NUMBER
返回D1和D2之間相差的天數(shù)。該值是一個數(shù)值,其小數(shù)部分代表一天的幾分之幾。
dt1-dt2 INTERVAL
返回DT1和DT2之間的時間間隔。
i1-i2 INTERVAL
返回i1和i2之間的差距。
d1+d2 N/A
非法——僅能進行兩個日期之間的相減。
dt1+dt2 N/A
非法——僅能進行兩個日期之間的相減。
i1+i2 INTERVAL
返回i1和i2的和。
d1+n DATE
在D1上加上N天作為DATE類型返回。N可以是實數(shù),它包含一天的幾分之幾。
d1-n DATE
從D1上減去N天作為DATE類型返回。N可以是實數(shù),它包含一天的幾分之幾。
dt1+i1 DATETIME
返回DT1和I1的和。
dt1-i1 DATETIME
返回DT1和I1之間的差距。
i1*n INTERVAL
返回I1的N次方。
i1/n INTERVAL
返回I1除以N的值。
表中注:
D1和D2指日期值;
DT1和DT2指日期時間值;
I1和I2指時間間隔值;
N指數(shù)字值。
世紀、年、月、日、小時、分鐘、秒
默認格式是:DD-MON-RR。
SYSDATE 返回當前的系統(tǒng)時間。
SELECT SYSDATE FROM DUAL;
對日期的數(shù)學運算
SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
數(shù)字列
ADD_MONTHS(date,x)函數(shù),返回加上X月后的日期DATE的值。X可以是任意整數(shù)。如果結果的月份中所包含的 日分量少于DATE的月份的日分量,則返回結果月份的最后一天。如果不小于,則 結果與DATE的日分量相同。時間分量也相同。
CURRENT_DATE 以DATE類型返回會話時區(qū)當前的日期。這個函數(shù)同SYSDATE相似,除了SYSDATE不管當 會話時區(qū)。
CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 類型返回會話時區(qū)當前的日期。如果 指定precision,它指返回秒數(shù)的精度,缺省為6。
DBTIMEZONE 返回數(shù)據(jù)庫的時區(qū)。
LAST_DAY(日期) 指定日期所在月份的最后一天的日期,這個函數(shù)可用來確定本月還有多少天。
LOCALTIMESTAMP[(precision)] 以TIMESTAMP類型返回會話時區(qū)的當前日期。如果指定precision,它指 返回秒數(shù)的精度,缺省為6 。
MONTHS_BETWEEN(離當前比較近的日期date1,以前的日期) 兩個日期之間相差的月數(shù)(以日作為最小單位來計算的)。返回是相差的月數(shù)。如果date1和date2的日分量相同,或者這兩個日期都分別是所在月的最后一天,那么返回結果是個整數(shù)。否則,返回結果包含一個分數(shù),以一個月31天計算。
NEW_TIME(d,zone1,zone2)函數(shù),當時區(qū)zone1中的日期和時間是D的時候,返回時區(qū)zone2中的日期和時間。
返回類型為DATE。zone1和zone2是字符字符串,另外的時區(qū)可在ORACLE9I中
通過查詢V$TIMEZONE_NAMES得到。
NEXT_DAY (日期,星期幾) 指定日期后將要遇到的后七天的某一天的日期。
ROUND(日期,‘MONTH/YEAR') 四舍五入得到新的日期。 保留位置是月和年
SESSIONTIMEZONE 返回當前會話的時區(qū)。返回類型是一個時區(qū)偏移或時區(qū)片名的字符字符串。如果指 定格式,則與 ALTER SESSION 語句中的格式相同。
SYS_EXTRACT_UTC(datetime) 從提供的DATETIME中以UTC(Coordinated Universal Time)返回時間。
DATETIME必須包含一個時區(qū)。
SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回當前的日期和時間。當在分布式SQL語句中使用的時 候,返回本地數(shù)據(jù)庫的日期和時間。
TRUNC(日期,‘MONTH/YEAR') 截取
TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之間的偏移量。timezone可以被指定為時 區(qū)名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和 DBTIMEZONE函數(shù),返回格式為'+/-HH:HI'。
字符字符串 時區(qū)
AST 大西洋標準時
ADT 大西洋夏令時
BST 白令標準時
BDT 白令夏令時
CST 中央標準時
CDT 中央夏令時
EST 東部標準時
EDT 東部夏令時
GMT 格林威治平均時
HST 阿拉斯加夏威夷標準時
HDT 阿拉斯加夏威夷夏令時
MST Mountain標準時
MDT Mountain夏令時
NST 紐芬蘭標準時
PST 太平洋標準時
PDT 太平洋夏令時
YST YuKon標準時
YDT YuKon夏令時
日期和日期時間算術
運算 返回類型
結果
d1-d2 NUMBER
返回D1和D2之間相差的天數(shù)。該值是一個數(shù)值,其小數(shù)部分代表一天的幾分之幾。
dt1-dt2 INTERVAL
返回DT1和DT2之間的時間間隔。
i1-i2 INTERVAL
返回i1和i2之間的差距。
d1+d2 N/A
非法——僅能進行兩個日期之間的相減。
dt1+dt2 N/A
非法——僅能進行兩個日期之間的相減。
i1+i2 INTERVAL
返回i1和i2的和。
d1+n DATE
在D1上加上N天作為DATE類型返回。N可以是實數(shù),它包含一天的幾分之幾。
d1-n DATE
從D1上減去N天作為DATE類型返回。N可以是實數(shù),它包含一天的幾分之幾。
dt1+i1 DATETIME
返回DT1和I1的和。
dt1-i1 DATETIME
返回DT1和I1之間的差距。
i1*n INTERVAL
返回I1的N次方。
i1/n INTERVAL
返回I1除以N的值。
表中注:
D1和D2指日期值;
DT1和DT2指日期時間值;
I1和I2指時間間隔值;
N指數(shù)字值。
相關文章
oracle11g用戶登錄時被鎖定問題的解決方法 (ora-28000 the account is locked)
最近在操作oracle11g的使用出現(xiàn)錯誤的現(xiàn)象:ora-28000 the account is locked,既用戶無法登錄問題,如何解決此問題呢?下面小編給大家?guī)砹薿racle11g用戶登錄時被鎖定問題的解決方法,感興趣的朋友一起看看吧2017-07-07win平臺oracle rman備份和刪除dg備庫歸檔日志腳本
本文介紹win平臺oracle rman備份和刪除dg備庫歸檔日志腳本2013-11-11