zoukankan      html  css  js  c++  java
  • Oracle对日期实现加减法

    sysdate+1 加一天
    sysdate+1/24 加1小时
    sysdate+1/(24*60) 加1分钟
    sysdate+1/(24*60*60) 加1秒钟
    类推至毫秒0.001秒

    加法 
    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秒

    months_between

    MONTHS_BETWEEN (x, y)用于计算x和y之间有几个月。如果x在日历中比y早,那么MONTHS_BETWEEN()就返回一个负数。
    当x 和 y 之间的月份之差不是整月的时候,可以采用小数表示,例如
    SELECT MONTHS_BETWEEN('25-MAY-2008', '15-JAN-2008')
    FROM dual;
    MONTHS_BETWEEN('25-MAY-2008','15-JAN-2008')
    4.32258065
    months_between(date1, date2),必须注意的是,date1与date2都为Date类型,不然会出现错误。须用to_date(‘’,'') 来转换为日期格式,才能参加计算。
  • 相关阅读:
    MPlayer源代码分析
    洛谷 P1025 数的划分
    洛谷 P1209 [USACO1.3]修理牛棚 Barn Repair
    洛谷 P1744 采购特价商品
    洛谷 P1443 马的遍历
    洛谷 P1294 高手去散步
    洛谷 P2104 二进制
    洛谷 P1088 火星人
    洛谷 P1062 数列
    洛谷 P2005 A/B Problem II
  • 原文地址:https://www.cnblogs.com/guijl/p/2918636.html
Copyright © 2011-2022 走看看