Oracle 日期函数的加减

1:加月

ADD_MONTHS:加月   
  SELECT   SYSDATE,ADD_MONTH(SYSDATE,1)   FROM   DUAL;   
  SYSDATE           ADD_MONTHS(SYSDATE,1)   
  -----------   ---------------------   
  10-1-8   16:2   10-2-8   16:21:59     

 2:加日

SQL>   SELECT   SYSDATE,SYSDATE+1   FROM   DUAL;   
    
  SYSDATE           SYSDATE+1       
  -----------   -----------   
  10-1-8   16:2   10-1-9   16:2

 

3: 日期和日期不能加,日期和数字可以加

select   sysdate+1   from   dual;   
    
  SYSDATE+1   
  -----------   
  2010-1-9   16:52:32   

 

4:日期与日期可以相减

  select   sysdate-sysdate   from   dual;   
    
  SYSDATE-SYSDATE   
  ---------------   
  0

 

5: 其他相关操作

Add_Months(D,X)      
      返回D日期加上X个月后的日期   
      Last_Day(D)   
      返回包含日期D的月份的最后一天的日期 

      
add_months(sysdate,1)加一个月   
    
  add_months(sysdate,-1)减一个月   
    
  sysdate+1   加一天  

 

6:再细致点

  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秒钟
类推至毫秒0.001秒

 

7:自定义日期相减 结果显示是-31

select to_date('2010-01-01','yyyy-mm-dd')-to_date('2010-02-01','yyyy-mm-dd') from dual

 8:显示日期的数字(周日是1)

 SELECT TO_CHAR(SYSDATE,'D')  FROM DUAL;

 

你可能感兴趣的:(Oracle 日期函数的加减)