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