Oracle SQL:动态时间范围计算

RDG*_*RDG 1 sql oracle date

所有人都知道Stack的问候.

我有点腌渍,我希望能从蜂巢头脑中得到一些友好的帮助.

我需要编写一个查询,返回注册日期(存储在表列中)和去年9月的第一天之间的天数差异.

例如; 假设今天(24-10-2016)正在运行查询,注册日期为14-07-2010,我希望脚本能够返回14-07-2010和01-09之间的天数差异. 2016

但是,如果我在去年8月底之前运行相同的查询,例如2016年12月12日,我希望脚本能够返回14-07-2010和01-09-2015之间的天数差异.

我对计算日期之间差异的过程很好,这只是让查询将"去年9月的第一天"返回到绊倒我的计算中的过程!

提供的任何输入将非常感激.

谢谢你=)

dno*_*eth 5

试试这种方法:

在当前日期添加四个月

将此日期截断到第一年

再减四个月

Add_Months(Trunc(Add_Months(SYSDATE, 4), 'year'), -4)
Run Code Online (Sandbox Code Playgroud)