我将以下(稍微疯狂的)一段代码作为报告的一部分(产生大量元数据)。
问题是,这一个代码段会针对#Video iframe {
的任何值抛出ORA-00932错误(预期日期获取数量),尽管所有情况都会返回一个数字。
这种情况发生在11g和12c
:i_schedfreq
我在这里错过了什么吗?
答案 0 :(得分:0)
因此,在我的头撞到桌子上一天之后,我查看了一些旧报告并找到了可行的解决方案。
我已将参数转换为日期:
select case
when :i_schedfreq = 'M'
then abs(months_between(trunc(cast(:DateFrom as date), 'MM'), trunc(cast(:DateTo as date),'MM')))
when :i_schedfreq = 'W'
then ceil(ceil(trunc(cast(:DateTo as date)) - trunc(cast(:DateFrom as date)) )/7)
when :i_schedfreq = 'H'
then floor((cast(:DateTo as date) - cast(:DateFrom as date))*24)
else trunc(cast(:DateTo as date))- trunc(cast(:DateFrom as date))
end as v_diff
from dual