题
下面是没有绑定变量的简单工作的查询:
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是一个整数文字,你应该能够绑定变量来替换。
不隶属于 StackOverflow