文章目录
第一种,直接加减数字。
select sysdate 当前时间,
sysdate + 1 加一天,
sysdate - 1 减一天,
sysdate + (1 / 24) 加一小时,
sysdate + (1 / 24 / 60) 加一分钟,
sysdate + (1 / 24 / 60 / 60) 加一秒钟
from dual;
第二种,使用 add_months() 函数。
select sysdate 当前时间,
add_months(sysdate, 1) 加一月,
add_months(sysdate, - 1) 减一月,
add_months(sysdate, 1 * 12) 加一年
from dual;
第三种,使用 interval() 函数。
select sysdate as 当前时间,
sysdate + interval '1' year as 加一年,
sysdate + interval '-1' year as 减一年,
sysdate + interval '1' month as 加一月,
sysdate + interval '1' day as 加一天,
sysdate + interval '1' hour as 加一小时,
sysdate + interval '1' minute as 加一分钟,
sysdate + interval '1' second as 加一秒
from dual;
这里需要注意的是,interval() 函数的精度问题。
语法:interval ‘时间差单位的数值精度’ { year | month | day | hour | minute | secode} (精度数值)
精度数值范围是 1-9,不写默认值是 2,精度不匹配时间差数值会报错.
-- ORA-01873: 间隔的前导精度太小
select sysdate + interval '111' year from dual;
此时,‘111’ 为 3 位有效数值,该处 year(n), n < 3 就会报错,注意默认 n 是 2.
select sysdate + interval '111' year(3) from dual;
出处:https://blog.csdn.net/li_dian_jin/article/details/122179993
标签:sysdate,interval,加减,add,三种,dual,year,Oracle,select From: https://www.cnblogs.com/mq0036/p/17528034.html