Oracle中Date的各種格式轉換

lingxyd_0發表於2011-08-21

 

 to_date()與24小時製表示法及mm分鐘的顯示:


一、在使用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;

二、另要以24小時的形式顯示出來要用HH24
select   to_char(sysdate, 'yyyy-MM-dd   HH24:mi:ss ')   from   dual;//mi是分鐘
select   to_char(sysdate, 'yyyy-MM-dd   HH24:mm:ss ')   from   dual;//mm會顯示月份     oracle中的to_date引數含義      
1.日期格式引數   含義說明    
D   一週中的星期幾    
DAY   天的名字,使用空格填充到9個字元    
DD   月中的第幾天    
DDD   年中的第幾天    
DY   天的簡寫名    
IW   ISO標準的年中的第幾周    
IYYY   ISO標準的四位年份    
YYYY   四位年份    
YYY,YY,Y   年份的最後三位,兩位,一位    
HH   小時,按12小時計    
HH24   小時,按24小時計    
MI   分    
SS   秒    
MM   月    
Mon   月份的簡寫    
Month   月份的全名    
W   該月的第幾個星期    
WW   年中的第幾個星期        
      1.日期時間間隔操作  
  當前時間減去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   ’2’   hour   from   dual  
      2.日期到字元操作  
  select   sysdate,to_char(sysdate,’yyyy-mm-dd   hh24:mi:ss’)   from   dual  
  select   sysdate,to_char(sysdate,’yyyy-mm-dd   hh:mi:ss’)   from   dual  
  select   sysdate,to_char(sysdate,’yyyy-ddd   hh:mi:ss’)   from   dual  
  select   sysdate,to_char(sysdate,’yyyy-mm   iw-d   hh:mi:ss’)   from   dual  
  參考oracle的相關關文件(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)  
      3.   字元到日期操作  
  select   to_date(’2003-10-17   21:15:37’,’yyyy-mm-dd   hh24:mi:ss’)   from   dual  
  具體用法和上面的to_char差不多。

 

相關文章