--add_months(d,n):返回特定日期時間d之後或之前的n個月所對應的日期時間。n為正整數表示之後,n為負整數表示之前
select add_months(sysdate, -5) from dual;輸出:2010-08-26 13:24:28
--current_date:返回當前會話時區所對應的日期時間
select current_date from dual; 輸出:2011-01-26 13:32:28
--current_timestamp:返回當前會話時區的日期時間
select current_timestamp from dual;輸出:26-1月 -11 01.35.25.996000 下午 +08:00
--localtimestamp:返回當前會話時區的日期時間
select localtimestamp from dual;輸出:26-1月 -11 02.10.39.209000 下午
--systimestamp:返回當前系統的日期時間及時區
select systimestamp from dual;輸出:26-1月 -11 02.50.46.030000 下午 +08:00
--to_timestamp(char[fmt[,'nls_param']])用於將符合特定日期和時間格式的字串轉變為timestamp型別
select to_timestamp('11-1月-26') from dual;輸出:11-1月 -26 12.00.00.000000000 上午
--to_timestamp_tz(char[fmt[,'nls_param'])用於將符合日期和時間格式的字串轉變為timestamp with time zone型別
select to_timestamp_tz('2011-01-26','yyyy-mm-dd') from dual;輸出:26-1月 -11 12.00.00.000000000 上午 +08:00
--dbtimezone:返回資料庫所在時區
select dbtimezone from dual;輸出:+00:00
--sessiontimezone:返回當前會話所在時區
select sessiontimezone from dual;輸出:+08:00
--extract:用於從日期時間值中取得所需要的特定資料
select extract(year from sysdate) from dual;輸出:2011
--from_dz:用於將特定時區的timestamp值轉變為timestamp with time zone值
select from_tz(to_timestamp('20091101', 'yyyymmdd'), 'america/sao_paulo') from dual;第一次執行出現ora-01878:在日期時間或間隔中沒有找到指定的字段,然後換個日期比如:20110101,就不會有問題。如果有問題,可以使用下面的sql語句可以避免夏令時造成的異常。
select from_tz(to_timestamp('20110101', 'yyyymmdd'), tz_offset('america/sao_paulo')) at time zone 'america/sao_paulo' from dual;輸出:01-1月 -11 12.00.00.000000000 上午 america/sao_paulo
--last_day:返回特定日期所在月份的最後一天
select last_day(sysdate) from dual;輸出:2011-01-31 14:06:03
--months_between(d1,d2):返回日期d1和d2之間相差的月數;如果d1小於d2,則返回負數;如果日期d1和d2的天數相同或都是月底,則返回整數;否則oracle以每月31天為準來計算結果的小數部分
select months_between(sysdate, to_date('2011-2-26 10:00:00', 'yyyy-mm-dd hh24:mi:ss')) from dual;輸出:-1
select months_between(sysdate, to_date('2010-12-20 10:00:00', 'yyyy-mm-dd hh24:mi:ss')) from dual;輸出:1.1993167562724
--new_time(date,zone1,zone2)返回時區一的日期時間所對應的時區二的日期時間
select new_time(sysdate, 'est', 'pst') from dual;輸出:2011-01-26 11:19:59
--next_day(d,char):返回指定日期後的第乙個工作日所對應的日期
select next_day(sysdate,'星期一') from dual;輸出:2011-01-31 14:23:03
--round(d[,fmt])返回日期時間的四捨五入結果。如果fmt指定年度,則7月1日為分界線;如果fmt指定月,則16日為分界線;如果指定天,則中午12:00時為分割線
select round(sysdate, 'year') from dual;輸出:2011-01-01
select round(sysdate, 'month') from dual;輸出:2011-02-01
select round(sysdate, 'day') from dual;輸出:2011-01-30
--trunc(d,[fmt])用於擷取日期時間資料。如果fmt指定年度,則結果為本年度的1月1日;如果fmt指定月,則結果為本月1日
select trunc(sysdate, 'year') from dual;輸出:2011-01-01
select trunc(sysdate, 'month') from dual;輸出:2010-01-01
--tz_offset(time_zone_name||sessiontimezone||dbtimezone):用於返回特定時區與utc(格林威治)相比的時區偏移
select tz_offset('est') from dual;輸出:-05:00
Oracle 10g 時間處理 二
指定的時間加上一分鐘 select to char to date 2011 11 09 15 30 30 yyyy mm dd hh24 mi ss 1 1440 yyyy mm dd hh24 mi ss as newdate from dual 兩個時間相減 select to date 20...
oracle 10g 預設日期格式 修改
oracle 10g預設的日期格式是 日 月 年 如下 sql select sysdate from dual sysdate 29 9月 11 修改方法 alter session set nls date format 這裡加上你要改的格式 sql alter session set nls ...
oracle10g 解除安裝
1 oracle 10g解除安裝軟體環境 1 windows xp oracle 10g2 oracle 安裝路徑為 d oracle 實現方法 1 開始 設定 控制面板 管理工具 服務停止所有 oracle 服務 2 開始 程式 oracle oradb 10g home1 oracle inst...