Oracle查询条件

时间:2018-11-13 13:34:08

标签: sql oracle

我正在oracle中处理一份报告,该查询在每个月自动进行以生成每月报告。我需要手动运行2018年9月月的报告。但是我不明白下面的情况,如何更新它以获取9月份的报告。

AND (( to_char(i.c_date_closed+1/6,'MM/YYYY') 
=to_char(add_months(sysdate+1/6,-1),'MM/YYYY')
or to_char(i.date_entered,'MM/YYYY') = 
to_char(add_months(sysdate+1/6,-1),'MM/YYYY')))

2 个答案:

答案 0 :(得分:1)

不仅会这样做吗?

where i.c_date_closed >= date '2018-09-01' and
      i.c_date_closed < date '2018-10-01'

答案 1 :(得分:0)

您可以分别检查年和月。它应该像这样工作:

AND (to_char(i.c_date_closed, 'Month')  =to_char(sysdate,'Month')
or to_char(i.date_entered,'Month') =  to_char(sysdate,'Month'))
and ( to_char(sysdate,'yyyy') = to_char(sysdate,'yyyy')
or to_char(sysdate,'yyyy') = to_char(sysdate,'yyyy'))