oracle日期相加减

加法  
 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 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秒
 
日期与日期之间不能相加  ,但是日期与数字就可相加   
  SQL>   select   sysdate+1   from   dual;  
  日期与日期可以相减   
  SQL>   select   sysdate-sysdate   from   dual;  
 
Add_Months(D,X)     返回D日期加上X个月后的日期   
Last_Day(D)                返回包含日期D的月份的最后一天的日期    
add_months(sysdate,1)   加一个月   
add_months(sysdate,-1)  减一个月   
sysdate+1                       加一天 
-------------------------------------------------------------------------------      
Months_Between(D1,D2)    返回D1、D2之间的月份数目        

New_Time(D,Z1,Z2)         返回时区Z1里时间为D时Z2时区的时间    

Next_Day(D,S)                    返回满足条件S的下一天 , S为星期几      

Round(D,F)                        日期D按照格式F进行舍入   

Sysdate                                     返回数据库当前时间   

Trunc(D,F)                         按照格式F截断时间D     
另外:日期可以直接加减    如:sysdate   +1,sysdate   -1
------------------------------------------------------------
sysdate+1 加一天 
sysdate+1/24 加1小时 
sysdate+1/(24*60) 加1分钟 
sysdate+1/(24*60*60) 加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 '7' hour from dual;

select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual; 年月 日 24制小时 分 秒 上/下午 星期中文;
--获取11月天数--select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;

--获取12月天数--select to_char(last_day(to_date('2010-12-1','YYYY-MM-DD')),'DD') from dual;


显示上个礼拜一到礼拜日 

SELECT to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1) - 6, to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1) from dual

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值