我正在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')))
答案 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'))