【问题标题】:Oracle sql: using bind variable for datesOracle sql:对日期使用绑定变量
【发布时间】:2010-05-13 18:50:47
【问题描述】:

这是一个没有绑定变量的简单工作查询:

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”,例如。您在 10g 上收到 ORA-00933 错误。

【问题讨论】:

    标签: sql oracle ora-00933


    【解决方案1】:

    原始查询中的字符串INTERVAL '1' day 是一个区间文字,即解析器将其评估为单个值。你不能用绑定变量替换它的一部分。

    如果您改为使用NUMTODSINTERVAL( 1, 'DAY' ),则 1 是一个整数文字,您应该可以将其替换为绑定变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2017-06-30
      • 2014-05-08
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      相关资源
      最近更新 更多