oracle 日期操作 彙總
計算從今天起的第乙個星期日是的日期 select next_day(sysdate,7) from dual
計算當前日期的年月日
select extract(year from sysdate) from dual
select extract(month from sysdate) from dual
select extract(day from sysdate) from dual
加法 select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd hh24:mi:ss') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd hh24:mi:ss') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd hh24:mi:ss') from dual; --加1小時
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd hh24:mi:ss') from dual; --加1分鐘
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd hh24:mi:ss') from dual; --加1秒
減法select sysdate,add_months(sysdate,-12) from dual; --減1年
select sysdate,add_months(sysdate,-1) from dual; --減1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd hh24:mi:ss') from dual; --減1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd hh24:mi:ss') from dual; --減1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd hh24:mi:ss') from dual; --減1小時
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd hh24:mi:ss') from dual; --減1分鐘
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd hh24:mi:ss') from dual; --減1秒
本段來自csdn部落格:http://blog.csdn.net/cathysun118/archive/2008/06/10/2532330.aspx
有兩個日期資料start_date,end_date,欲得到這兩個日期的時間差(以天,小時,分鐘,秒,毫秒):
天:round(to_number(end_date - start_date))
小時:round(to_number(end_date - start_date) * 24)
分鐘:round(to_number(end_date - start_date) * 24 * 60)
秒:round(to_number(end_date - start_date) * 24 * 60 * 60)
毫秒:round(to_number(end_date - start_date) * 24 * 60 * 60 * 60)
減12小時
select sysdate s, (sysdate - to_dsinterval('0 12:00:00')) ss from dual;
oracle 獲取當前日期及日期格式
獲取系統日期: sysdate()
格式化日期: to_char(sysdate(),'yy/mm/dd hh24:mi:ss)
或 to_date(sysdate(),'yy/mm/dd hh24:mi:ss)
格式化數字: to_number
注: to_char 把日期或數字轉換為字串
to_char(number, '格式')
to_char(salary, '$99,999.99')
to_char(date, '格式')
to_date 把字串轉換為資料庫中的日期型別
to_date(char, '格式')
to_number 將字串轉換為數字
to_number(char, '格式')
返回系統日期,輸出 25-12月-09
select sysdate from dual;
mi是分鐘,輸出 2009-12-25 14:23:31
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
mm會顯示月份,輸出 2009-12-25 14:12:31
select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;
輸出 09-12-25 14:23:31
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual
輸出 2009-12-25 14:23:31
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss') from dual
而如果把上式寫作:
select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh:mi:ss') from dual
則會報錯,因為小時hh是12進製,14為非法輸入,不能匹配。
輸出 $10,000,00 :
select to_char(1000000,'$99,999,99') from dual;
輸出 rmb10,000,00 :
select to_char(1000000,'l99,999,99') from dual;
輸出 1000000.12 :
select trunc(to_number('1000000.123'),2) from dual;
select to_number('1000000.123') from dual;
轉換的格式:
表示 year 的:y 表示年的最後一位 、
yy 表示年的最後2位 、
yyy 表示年的最後3位 、
yyyy 用4位數表示年
表示month的: mm 用2位數字表示月 、
mon 用簡寫形式, 比如11月或者nov 、
month 用全稱, 比如11月或者november
表示day的:dd 表示當月第幾天 、
ddd 表示當年第幾天 、
dy 當周第幾天,簡寫, 比如星期五或者fri 、
day 當周第幾天,全稱, 比如星期五或者friday
表示hour的:hh 2位數表示小時 12進製 、
hh24 2位數表示小時 24小時
表示minute的:mi 2位數表示分鐘
表示second的:ss 2位數表示秒 60進製
表示季度的:q 一位數 表示季度 (1-4)
另外還有ww 用來表示當年第幾周 w用來表示當月第幾周。
24小時制下的時間範圍:00:00:00-23:59:59
12小時制下的時間範圍:1:00:00-12:59:59
數字格式: 9 代表乙個數字
0 強制顯示0
$ 放置乙個$符
l 放置乙個浮動本地貨幣符
. 顯示小數點
, 顯示千位指示符
補充:當前時間減去7分鐘的時間
select sysdate,sysdate - interval '7' minute from dual;
當前時間減去7小時的時間
select sysdate - interval '7' hour from dual;
當前時間減去7天的時間
select sysdate - interval '7' day from dual;
當前時間減去7月的時間
select sysdate,sysdate - interval '7' month from dual;
當前時間減去7年的時間
select sysdate,sysdate - interval '7' year from dual;
時間間隔乘以乙個數字
select sysdate,sysdate - 8*interval '7' hour from dual;
含**釋:
dual偽列
dual 是 oracle中的乙個實際存在的表,任何使用者均可讀取,常用在沒有目標表的select語句塊中。
不同系統可能返回日期的格式不一樣。
返回當前連線的使用者:select user from dual;
Oracle日期操作
今天星期幾 select to char sysdate,dy from dual select to char systimestamp,day from dual 今天是本週第幾天 select to char sysdate,d from dual select to char systime...
Oracle 日期操作
select trunc sysdate to char sysdate,d 7 2 from dual select trunc sysdate to char sysdate,d 1 from dual 列出上週星期一 星期天的時間 語句分析 sysdate 系統當前時間 to char sys...
oracle日期操作
sql select sysdate from dual 選擇系統時間 sysdate 12 7月 12 sql select add months sysdate,2 from dual add months用法,操作月份 add months sys 12 5月 12 sql select to...