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 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值