下面是没有绑定变量的简单工作的查询:

select * from table1 where time_stamp > sysdate - INTERVAL '1' day;

其中time_stamp是类型DATE的。

我应该能够输入任意数量的使用绑定变量在上面的查询的天

所以我尝试以下,并似乎没有工作:

select * from table1 where time_stamp > sysdate - INTERVAL :days day;

我试图进入数字输入既作为10和“10”,对于例如。你得到的 ORA-00933 的万兆错误。

有帮助吗?

解决方案

在原始查询字符串INTERVAL '1' day是一个间隔字面,即,它是由分析器评价为单个值。你不能与绑定变量代替它的一部分。

如果您改用NUMTODSINTERVAL( 1, 'DAY' ),然后1是一个整数文字,你应该能够绑定变量来替换。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top