错误写法
-- 错误写法
select sysdate - interval '3' month from dual;
之前从网上找的,当时也认为没有什么不妥的地方,三个月前的时间不正是当前时间再减去三个月嘛,没毛病。然后今天2019-12-31就出现问题了,当前时间减去三个月,就是9月31了,问题是,9月份只有30天呀,所以就报错了,报错信息如下图。所以这种写法不可取,经一事长一智,当时没考虑周全
image-20191231115948809.png正确写法
-- 正确写法
select add_months(sysdate,-3) from dual;
- oracle查询三个月前的时间+7天(这个可能不太标准)
select add_months(sysdate,-3) + interval '7' day from dual;
网友评论