精华内容
下载资源
问答
  • ORACLE 日期加减函数

    2021-05-01 09:43:13
    ADD_MONTHS:月SELECT SYSDATE,ADD_MONTH(SYSDATE,1) FROM DUAL;SYSDATE ADD_MONTHS(SYSDATE,1)----------- ---------------------03-1-8 16:2 03-2-8 16:21:59加日:SQL> SELECT SYSDAT...

    ADD_MONTHS:加月

    SELECT   SYSDATE,ADD_MONTH(SYSDATE,1)   FROM   DUAL;

    SYSDATE           ADD_MONTHS(SYSDATE,1)

    -----------   ---------------------

    03-1-8   16:2   03-2-8   16:21:59

    加日:SQL>   SELECT   SYSDATE,SYSDATE+1   FROM   DUAL;

    SYSDATE           SYSDATE+1

    -----------   -----------

    03-1-8   16:2   03-1-9   16:2

    -----------------------------------------------------------------------

    日期与日期之间不能相加

    SQL>   select   sysdate+sysdate   from   dual;

    select   sysdate+sysdate   from   dual

    ORA-00975:   不允许日期   +   日期

    日期与数字就可相加

    SQL>   select   sysdate+1   from   dual;

    SYSDATE+1

    -----------

    2003-1-9   16:52:32

    日期与日期可以相减

    SQL>   select   sysdate-sysdate   from   dual;

    SYSDATE-SYSDATE

    ---------------

    0

    --------------------------------------------------------------------------------

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

    展开全文
  • oracle_日期_加减方法

    2015-09-25 15:53:41
    oracle_日期加减方法 在开发中可以很好指定作用
  • Oracle日期加减

    万次阅读 多人点赞 2018-12-08 17:45:20
    Oracle日期进行加减可以使用多种方式,以下介绍三种 一种是针对天的操作,适用于对日,时,分,秒的操作, 一种是对月的操作,适用于月,年的操作, 一种是使用INTERVAL函数,适用于年,月,日,时,分,秒的...

    Oracle中日期进行加减可以使用多种方式,以下介绍三种

    一种是针对天的操作,适用于对日,时,分,秒的操作,

    一种是对月的操作,适用于月,年的操作,

    一种是使用INTERVAL函数,适用于年,月,日,时,分,秒的操作

    1.直接加减数字

     select sysdate "当前时间",sysdate+1 "当前时间加一天" from dual ;          //加一天

    灵活使用

    SELECT
        SYSDATE "当前时间",
        SYSDATE + 1 "加一天",
        SYSDATE + (1 / 24) "加一小时",
        SYSDATE + (1 / 24 / 60) "加一分钟",
        SYSDATE + (1 / 24 / 60 / 60) "加一秒钟",
        SYSDATE - 1 "减一天"
    FROM
        dual;

    查询结果如下:

    2.通过ADD_MONTHS()函数

    select sysdate "当前时间",ADD_MONTHS(sysdate, 1) "加一月" from dual ;     //加一个月

    灵活使用

    SELECT
        SYSDATE "当前时间",
        ADD_MONTHS (SYSDATE, 1) "加一月",
        ADD_MONTHS (SYSDATE, - 1) "减一月",
        ADD_MONTHS (SYSDATE, 1 * 12) "加一年",
        ADD_MONTHS (SYSDATE, - 1 * 12) "减一年"
    FROM
        dual;

    查询结果如下:

    3.使用INTERVAL函数

    语法:INTERVAL '时间差数值'  { YEAR | MONTH | DAY | HOUR | MINUTE | SECODE} (精度数值)

    得出的是相应类型的时间差,注意精度数值范围是1-9,不写默认值是2,精度不匹配时间差数值会报错

    例如:当前时间加1,11,111年

    SELECT
        SYSDATE "当前时间",
        SYSDATE + INTERVAL '1' YEAR "加1年",                   //精度数值不写时是默认两位,此处可以写精度为1-9
        SYSDATE + INTERVAL '11' YEAR "加11年",               //此处可以不写,可以是1-9
        SYSDATE + INTERVAL '11' YEAR(2) "加11年",          // 可以写2-9
        SYSDATE + INTERVAL '111' YEAR(3) "加111年",      //此处必须写精度,精度值3-9
        SYSDATE + INTERVAL '111' YEAR (9) "加111年"     //精度值可以大于当前精度,不能小于当前数值精度,不能超过9
    FROM
        dual;

     

    查询结果:

    灵活运用

    SELECT
        SYSDATE "当前时间",
        SYSDATE + INTERVAL '1' YEAR "加一年",
        SYSDATE + INTERVAL '-1' YEAR "减一年",
        SYSDATE + INTERVAL '1' MONTH "加一月",
        SYSDATE + INTERVAL '1' DAY "加一天",
        SYSDATE + INTERVAL '1' HOUR "加一小时",
        SYSDATE + INTERVAL '1' MINUTE "加一分钟",
        SYSDATE + INTERVAL '1' SECOND "加一秒"
    FROM
        dual;

    结果如下:

     

    精度的使用同上,当然oracle数据库对于时间大小也是有限制的,年份范围是 -4713 和 +9999 之间, 且不为 0

     

     

    展开全文
  • oracle 日期加减函数

    2021-05-07 13:35:21
    ADD_MONTHS:月SELECT SYSDATE,ADD_MONTH(SYSDATE,1) FROM DUAL;SYSDATE ADD_MONTHS(SYSDATE,1)----------- ---------------------03-1-8 16:2 03-2-8 16:21:59加日:SQL> SELECT SYSDAT...

    ADD_MONTHS:加月

    SELECT   SYSDATE,ADD_MONTH(SYSDATE,1)   FROM   DUAL;

    SYSDATE           ADD_MONTHS(SYSDATE,1)

    -----------   ---------------------

    03-1-8   16:2   03-2-8   16:21:59

    加日:SQL>   SELECT   SYSDATE,SYSDATE+1   FROM   DUAL;

    SYSDATE           SYSDATE+1

    -----------   -----------

    03-1-8   16:2   03-1-9   16:2

    -----------------------------------------------------------------------

    日期与日期之间不能相加

    SQL>   select   sysdate+sysdate   from   dual;

    select   sysdate+sysdate   from   dual

    ORA-00975:   不允许日期   +   日期

    日期与数字就可相加

    SQL>   select   sysdate+1   from   dual;

    SYSDATE+1

    -----------

    2003-1-9   16:52:32

    日期与日期可以相减

    SQL>   select   sysdate-sysdate   from   dual;

    SYSDATE-SYSDATE

    ---------------

    0

    --------------------------------------------------------------------------------

    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秒钟

    类推至毫秒0.001秒

    展开全文
  • 1.oracle中当前系统时间加减用法select add_months(sysdate, 12) "NEW YEAR" from dual; /**系统时间+12个月后的时间**/select extract(month from sysdate) "This Month" from dual; /**获取系统时间所在月份**/...

    1.oracle中当前系统时间加减用法

    select add_months(sysdate, 12) "NEW YEAR" from dual; /**系统时间+12个月后的时间**/

    select extract(month from sysdate) "This Month" from dual; /**获取系统时间所在月份**/

    select (sysdate + 1) "NEW DATE" from dual; /**系统时间+1天后的时间**/

    2.下面一日期处理函数为网上看到一并写在这里

    create or replace function DATEADD(datepart varchar2,

    num number,

    indate date) return date is

    Result date;

    v_sql varchar2(1000);

    v_datepart varchar2(30);

    v_ms varchar2(13);

    begin

    v_datepart := lower(datepart);

    /*

    Datepart Abbreviations

    year yy, y

    quarter qq, q

    month mm, m

    day dd, d

    week wk, w

    hour hh, h

    minute mi, n

    second ss, s

    millisecond ms

    */

    case

    when v_datepart in ('year', 'yy', 'y') then

    v_sql := 'select :1 + interval ''' || num || ''' year from dual';

    when v_datepart in ('quarter', 'qq', 'q') then

    v_sql := 'select :1 + (interval ''3'' month) * ' || num ||

    ' from dual';

    when v_datepart in ('month', 'mm', 'm') then

    v_sql := 'select :1 + interval ''' || num || ''' month from dual';

    when v_datepart in ('week', 'wk', 'w') then

    v_sql := 'select :1 + (interval ''7'' day) * ' || num || ' from dual';

    when v_datepart in ('day', 'dd', 'd') then

    v_sql := 'select :1 + interval ''' || num || ''' day from dual';

    when v_datepart in ('hour', 'hh') then

    v_sql := 'select :1 + interval ''' || num || ''' hour from dual';

    when v_datepart in ('minute', 'mi', 'n') then

    v_sql := 'select :1 + interval ''' || num || ''' minute from dual';

    when v_datepart in ('second', 'ss', 's') then

    v_sql := 'select :1 + interval ''' || num || ''' second from dual';

    when v_datepart in ('millisecond', 'ms') then

    v_ms := to_char(num / 1000, 'fm999999990.000');

    v_sql := 'select :1 + interval ''' || v_ms ||

    ''' second(9,3) from dual';

    else

    RAISE_APPLICATION_ERROR(-20001,

    '''' || datepart ||

    ''' is not a recognized dateadd option.');

    end case;

    execute immediate v_sql

    into Result

    using indate;

    return(Result);

    EXCEPTION

    WHEN OTHERS THEN

    RAISE;

    end DATEADD;

    展开全文
  • 无论是DATE还是timestamp都可以进行加减操作。 可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加天 3 使用内置...
  • oracle日期加减计算

    2021-05-08 17:49:39
    oracle数据库中有多种对日期加减的计算方法,废话很少说,开始。sql一、直接加减。数据库(1)求当前时间及一天后:oracleselect sysdate,sysdate + 1 from dual; 输出为:2018-1-24 14:05:192018-1-25 14:05:19(2)求...
  • Oracle 日期函数加减

    千次阅读 2021-04-30 08:28:32
    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:592:加日SQL> SELECT S...
  • ORACLE 日期加减操作

    2021-05-02 08:45:46
    可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法:1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3使用内置函数add_months来增加年和月例:对当前日期增加一个...
  • oracle月份加减函数

    2021-02-23 10:22:03
    where trandate between to_char(add_months(to_date(‘2021-02-20’,‘yyyy-mm-dd’),-3),‘DS’) and ‘2021-02-20’
  • oracle日期加减函数

    2010-03-28 12:29:18
    ORACLE 日期加减函数ORACLE 2009-06-12 14:34:22 阅读65 评论0 字号:大中小 ADD_MONTHS:加月 SELECT SYSDATE,ADD_MONTH(SYSDATE,1) FROM DUAL; SYSDATE ADD_MONTHS(SYSDATE,1) ----------- ---...
  • ORACLE日期加减【转】

    千次阅读 2021-01-15 02:22:11
    首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作...可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法:1 使用内置函数numt...
  • Oracle 日期加减的三种方式
  • 加法select sysdate,add_months(sysdate,12... --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,t...
  • 可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法:1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3 使用内置函数add_months来增加年和月例:对当前日期增加一...
  • oracle日期加减

    2021-02-08 21:25:46
    加法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星期...
  • oracle 日期加减方法

    2020-12-23 16:05:57
    最近需要写一个时间的相加减的sql语句,于是就上网看了下相关的知识,然后自己整理了下一些 关于时间加减和获取相关时间的知识!加法select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_...
  • 在学习oracle自带的帮助文件过程发现一个日期加减的好函数,可以对日期随意加减如下例了,对原来的时间加一天参数格式为 天数 时,分,秒select create_time,TO_DSINTERVAL('01 00:00:00')+create _time asddfrom ...
  • 转载自:米西米西在Oralce中我发现有add_months函数天数N可以用如下方法实现,select sysdate+N from dualsysdate+1 一天sysdate+1/24 1小时sysdate+1/(24*60) 1分钟sysdate+1/(24*60*60) 1秒钟类推至...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,419
精华内容 3,767
关键字:

oracle日期加减函数