oracle 日期常用函數 (SYSDATE、日期格式)


SYSDATE                  2017-03-17 這個博客的說明不錯哦  http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html
2 	--◎ 可得到目前系統的時間
3 	
4 	ex.
5 	select sysdate from dual;
6 	
7 	sysdate
8 	----------
9 	20-SEP-07
10 	
11 	常用之日期格式
12 	
13 	日期格式 說明
14 	------------------------------------------------------------------------
15 	YYYY/MM/DD -- 年/月/日
16 	YYYY -- 年(4位)
17 	YYY -- 年(3位)
18 	YY -- 年(2位)
19 	MM -- 月份
20 	DD -- 日期
21 	D -- 星期
22 	-- 星期日 = 1 星期一 = 2 星期二 = 3
23 	-- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7
24 	
25 	DDD -- 一年之第幾天
26 	WW -- 一年之第幾週
27 	W -- 一月之第幾週
28 	YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒
29 	YYYY/MM/DD HH:MI:SS -- 年/月/日 時(非24小時制):分:秒
30 	J -- Julian day,Bc 4712/01/01 為1
31 	RR/MM/DD -- 公元2000問題
32 	            -- 00-49 = 下世紀;50-99 = 本世紀
33 	ex.
34 	select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; -- 2007/09/20
35 	select to_char(sysdate,'YYYY') FROM DUAL; -- 2007
36 	select to_char(sysdate,'YYY') FROM DUAL; -- 007
37 	select to_char(sysdate,'YY') FROM DUAL; -- 07
38 	select to_char(sysdate,'MM') FROM DUAL; -- 09
39 	select to_char(sysdate,'DD') FROM DUAL; -- 20
40 	select to_char(sysdate,'D') FROM DUAL; -- 5
41 	select to_char(sysdate,'DDD') FROM DUAL; -- 263
42 	select to_char(sysdate,'WW') FROM DUAL; -- 38
43 	select to_char(sysdate,'W') FROM DUAL; -- 3
44 	select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; -- 2007/09/20 15:24:13
45 	select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; -- 2007/09/20 03:25:23
46 	select to_char(sysdate,'J') FROM DUAL; -- 2454364
47 	select to_char(sysdate,'RR/MM/DD') FROM DUAL; -- 07/09/20 
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 CASE

WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '上午'

 WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN '下午'

WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND 21 THEN '晚上'

END

 FROM dual; 

 

DATE格式轉換:

一、在使用Oracle的to_date函數來做日期轉換時,很多Java程序員也許會直接的采用“yyyy-MM-dd   HH:mm:ss”的格式作為格式進行轉換,但是在Oracle中會引起錯誤:“ORA   01810   格式代碼出現兩次”。 
如:select   to_date( '2005-01-01   13:14:20 ', 'yyyy-MM-dd   HH24:mm:ss ')   from   dual; 
原因是:SQL中不區分大小寫,MM和mm被認為是相同的格式代碼,所以Oracle的SQL采用了mi代替分鍾。 
select   to_date( '2005-01-01   13:14:20 ', 'yyyy-MM-dd   HH24:mi:ss ')   from   dual; 

 

日期時間間隔操作:

當前時間減去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

來自:http://www.cnblogs.com/carekee/articles/4532905.html

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM