oracle查询三个月前的时间

错误写法

-- 错误写法
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;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容