內部存儲格式:
世紀、年、月、日、小時、分鐘、秒
默認格式是:DD-MON-RR。
SYSDATE返回當前的系統時間。
SELECTSYSDATEFROMDUAL;
對日期的數學運算
SELECT(SYSDATE-HIRE_DATE)/7FROMTABLENAMEWHEREROWNUM;
數字列
ADD_MONTHS(date,x)函數,返回加上X月后的日期DATE的值。X可以是任意整數。如果結果的月份中所包含的日分量少于DATE的月份的日分量,則返回結果月份的最后一天。如果不小于,則結果與DATE的日分量相同。時間分量也相同。
CURRENT_DATE以DATE類型返回會話時區當前的日期。這個函數同SYSDATE相似,除了SYSDATE不管當會話時區。
CURRENT_TIMESTAMP[(precision)]以TIMESTAMPWITHTIMEZONE類型返回會話時區當前的日期。如果指定precision,它指返回秒數的精度,缺省為6。
DBTIMEZONE返回數據庫的時區。
LAST_DAY(日期)指定日期所在月份的最后一天的日期,這個函數可用來確定本月還有多少天。
LOCALTIMESTAMP[(precision)]以TIMESTAMP類型返回會話時區的當前日期。如果指定precision,它指返回秒數的精度,缺省為6。
MONTHS_BETWEEN(離當前比較近的日期date1,以前的日期)兩個日期之間相差的月數(以日作為最小單位來計算的)。返回是相差的月數。如果date1和date2的日分量相同,或者這兩個日期都分別是所在月的最后一天,那么返回結果是個整數。否則,返回結果包含一個分數,以一個月31天計算。
NEW_TIME(d,zone1,zone2)函數,當時區zone1中的日期和時間是D的時候,返回時區zone2中的日期和時間。
返回類型為DATE。zone1和zone2是字符字符串,另外的時區可在ORACLE9I中
通過查詢V$TIMEZONE_NAMES得到。
NEXT_DAY(日期,星期幾)指定日期后將要遇到的后七天的某一天的日期。
ROUND(日期,‘MONTH/YEAR')四舍五入得到新的日期。保留位置是月和年
SESSIONTIMEZONE返回當前會話的時區。返回類型是一個時區偏移或時區片名的字符字符串。如果指定格式,則與ALTERSESSION語句中的格式相同。
SYS_EXTRACT_UTC(datetime)從提供的DATETIME中以UTC(CoordinatedUniversalTime)返回時間。
DATETIME必須包含一個時區。
SYSTIMESTAMP以TIMESTAMPWITHTIMEZONE返回當前的日期和時間。當在分布式SQL語句中使用的時候,返回本地數據庫的日期和時間。
TRUNC(日期,‘MONTH/YEAR')截取
TZ_OFFSET(timezone)以字符字符串返回提供的timezone和UTC之間的偏移量。timezone可以被指定為時區名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和DBTIMEZONE函數,返回格式為'+/-HH:HI'。
字符字符串時區
AST大西洋標準時
ADT大西洋夏令時
BST白令標準時
BDT白令夏令時
CST中央標準時
CDT中央夏令時
EST東部標準時
EDT東部夏令時
GMT格林威治平均時
HST阿拉斯加夏威夷標準時
HDT阿拉斯加夏威夷夏令時
MSTMountain標準時
MDTMountain夏令時
NST紐芬蘭標準時
PST太平洋標準時
PDT太平洋夏令時
YSTYuKon標準時
YDTYuKon夏令時
日期和日期時間算術
運算返回類型
結果
d1-d2NUMBER
返回D1和D2之間相差的天數。該值是一個數值,其小數部分代表一天的幾分之幾。
dt1-dt2INTERVAL
返回DT1和DT2之間的時間間隔。
i1-i2INTERVAL
返回i1和i2之間的差距。
d1+d2N/A
非法——僅能進行兩個日期之間的相減。
dt1+dt2N/A
非法——僅能進行兩個日期之間的相減。
i1+i2INTERVAL
返回i1和i2的和。
d1+nDATE
在D1上加上N天作為DATE類型返回。N可以是實數,它包含一天的幾分之幾。
d1-nDATE
從D1上減去N天作為DATE類型返回。N可以是實數,它包含一天的幾分之幾。
dt1+i1DATETIME
返回DT1和I1的和。
dt1-i1DATETIME
返回DT1和I1之間的差距。
i1*nINTERVAL
返回I1的N次方。
i1/nINTERVAL
返回I1除以N的值。
表中注:
D1和D2指日期值;
DT1和DT2指日期時間值;
I1和I2指時間間隔值;
N指數字值。