读书人

oracle中非自然月的有关问题

发布时间: 2012-05-01 12:48:58 作者: rapoo

oracle中非自然月的问题

SQL code
  Where TRUNC(DATA_COMPLETE.WORK_DATE-interval '25' day ,'mm')=trunc(sysdate,'mm')
我想按照财务月来统计,上月26日至本月25日为统计区间。刚才用上面的语句,当前日期是25之后的话就没问题,如果当前日期是25之前,统计出来的结果就不对了。现在脑子有点木,请高手指教。

[解决办法]
where DATA_COMPLETE.WORK_DATE>case
when sysdate >to_date(to_char(sysdate, 'yyyymm') || '26', 'yyyymmdd') then
to_date(to_char(sysdate, 'yyyymm') || '26', 'yyyymmdd')
else
add_months(to_date(to_char(sysdate, 'yyyymm') || '26',
'yyyymmdd'),
1)
end;
改成这样行不行

读书人网 >oracle

热点推荐