我有以下查询: -
select actual_ssd
from tblsales
是否有可能提前2个月从tblsales
actual_ssd
动态返回记录?
因此,如果我今天运行查询,它将返回01/05/2018和31/05/2018之间的所有记录。如果我在04/04/2018运行它,它将返回01/06/2018和30/06/2018之间的所有记录。
答案 0 :(得分:3)
当然可以
select *
from tblsales
where actual_ssd >= trunc(add_months(sysdate, 2), 'MM')
and actual_ssd < trunc(add_months(sysdate, 3), 'MM')
trunc()
对日期值执行舍入,具体取决于格式掩码;使用'MM'
参数,它会向下舍入到当前月的第一个。 add_months()
完全按照您的想法执行操作,将所需的月数添加到日期参数中。
答案 1 :(得分:1)
将trunc
与算术一起使用。
where actual_ssd >= trunc(sysdate,'mm')+interval '2' month
and actual_ssd < trunc(sysdate,'mm')+interval '3' month