oracle 日期常用函數 (日期運算)

oracle 日期常用函數 (日期運算)

http://blog.blueshop.com.tw/pili9141/articles/52501.aspx

 

1 日期運算 
2  
3 1. 更改日期顯示的format 
4  ex. 
5  ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD';    
6  階段作業已被更改    
7            
8  select sysdate from dual;    
9            
10  SYSDATE    
11  ----------    
12  2007/09/20    
13            
14  --只對目前session有效,一個 connect 視為一個 session 
15  
16 2. 日期 + 數值 
17  ex. 
18  select sysdate + 10 from dual; 
19   
20  SYSDATE+10 
21  ---------- 
22  01-OCT-07  
23         
24 3. 日期 - 數值 
25  ex. 
26  select sysdate - 10 from dual; 
27  
28  SYSDATE-10 
29  ---------- 
30  11-SEP-07 
31  
32 4. 日期相減得到日期差 
33  ex. 
34  select sysdate - to_date('20070901','yyyymmdd') aa from dual; 
35   
36            AA 
37  ------------- 
38    20.4508218   
39   
40  --◎ 包含時間,所以有小數 
41  --◎ 可做日期欄位的計算 
42   
43  select trunc(sysdate - to_date('20070901','yyyymmdd')) aa from dual; 
44   
45         AA 
46  ---------- 
47         20 
48  --使用trunc取整數,得到日期 
49  
50 5. 日期相減得到小時差 
51  ex. 
52  select trunc((sysdate - to_date('20070901','yyyymmdd'))*24) aa from dual; 
53  
54          AA 
55  ---------- 
56         490 
57  
58 6. 日期相減得到分鐘差 
59  ex. 
60  select trunc((sysdate - to_date('20070901','yyyymmdd'))*24*60) aa from dual; 
61   
62        AA 
63  --------- 
64      29459 
65  
66 7. 日期相減得到秒數差 
67  ex. 
68  select trunc((sysdate - to_date('20070901','yyyymmdd'))*24*60*60) aa from dual; 
69  
70         AA 
71  ---------- 
72     1767606 
73  
74 8. 日期 + n小時 
75  ex. 
76  select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') aa from dual; 
77   
78  AA 
79  -------------------- 
80  2007/09/21 11:03:47  --系統時間 
81   
82  select to_char(sysdate+2/24,'YYYY/MM/DD HH24:MI:SS') aa from dual; 
83  
84  AA 
85  -------------------- 
86  2007/09/21 13:03:47  --加2小時(理論值) 
87  
88 9. 日期 + n分鐘  
89  ex. 
90  select to_char(sysdate+10/1440,'YYYY/MM/DD HH24:MI:SS') aa from dual; 
91  
92  AA 
93  -------------------- 
94  2007/09/21 11:13:47  --加10分鐘(理論值) 
95  
96 10. 日期+ n秒鐘 
97  ex. 
98  select to_char(sysdate+10/86400,'YYYY/MM/DD HH24:MI:SS') aa from dual; 
99      
100  AA 
101  -------------------- 
102  2007/09/21 11:13:57  --加10秒鐘(理論值) 

posted @ 2010-02-03 18:53  hellofei  阅读(3356)  评论(0编辑  收藏  举报