oracle 日期常用函數(ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)

日期運算函數  
  
 ADD_MONTHS(d,n)  
 --時間點d再加上n個月
  
  
 ex.  
  select sysdate, add_months(sysdate,2) aa from dual;  
  
  SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  21-NOV-07  
    
 LAST_DAY(d)  
  --時間點d當月份最後一天 
 
   
  ex.  
   select sysdate, LAST_DAY(sysdate) LAST_DAY from dual;  
   
   SYSDATE    LAST_DAY  
   ---------- ---------  
   21-SEP-07  30-SEP-07  
   
 NEXT_DAY(d,number)  
  --◎ 時間點d開始,下一個星期幾的日期  
  --◎ 星期日 = 1  星期一 = 2  星期二 = 3  
  --   星期三 = 4  星期四 = 5  星期五 = 6  星期六 = 7  
   
  ex.  
   select sysdate, NEXT_DAY(sysdate,2) aa from dual;  
   
   SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  24-SEP-07  
    
 MONTHS_BETWEEN(d1,d2)  
  --計算d1與d2相隔的月數 

   
  ex.  
   select trunc(MONTHS_BETWEEN(to_date('20071101','yyyymmdd'),  
          to_date('20070820','yyyymmdd'))) aa   
   from dual;  
   
         AA  
   ----------  
          2  
    
 NEW_TIME(d,c1,c2)  
  --轉換新時區 

   
  ex.  
   select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') 台北,   
          to_char(NEW_TIME(sysdate,'EST','GMT'),'YYYY/MM/DD HH24:MI:SS') 格林威治   
   from dual;  
   
   台北                 格林威治  
   -------------------- -------------------  
   2007/09/21 14:36:53  2007/09/21 19:36:53  
    
 ROUND(d[,fmt])  
  --◎ 對日期作四捨五入運算  
  --◎ 月的四捨五入以每月的15號為基準  
  --◎ 年的四捨五入以每年6月為基準
  
   
  ex.  
   select sysdate, ROUND(sysdate,'year') aa from dual;  
   
   SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  01-JAN-08  
     
   select sysdate, ROUND(sysdate,'month') aa from dual;  
   
   SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  01-OCT-07  
     
 TRUNC(d[,fmt])  
   --對日期作擷取運算 
 
   
  ex.  
   select sysdate, TRUNC(sysdate,'year') aa from dual;  
   
   SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  01-JAN-07  
     
   select sysdate, TRUNC(sysdate,'month') aa from dual;  
   
   SYSDATE    AA  
   ---------- ----------  
   21-SEP-07  01-SEP-07 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值