sql - 甲骨文 SQL : using bind variable for dates

标签 sql oracle ora-00933

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

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

其中 time_stampDATE 类型。

我应该能够使用绑定(bind)变量在上述查询中输入任意天数。

所以我尝试了以下方法,但似乎不起作用:

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

我尝试将数字输入同时输入为 10 和“10”,例如。您在 10g 上遇到 ORA-00933 错误。

最佳答案

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

如果您改为使用 NUMTODSINTERVAL( 1, 'DAY' ),则 1 是一个整数文字,您应该能够用绑定(bind)变量替换它。

关于sql - 甲骨文 SQL : using bind variable for dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2829409/

相关文章:

mysql - 使用大型 3D 点数据集提高 SELECT 查询的性能

mysql - 如何通过sql查询对条件进行排序

oracle - 如何将时间戳转换为小时?

java - 错误消息 ORA-00933 : SQL command not properly ended

php - 如何获取两个表的结果以及如何在标题中显示一个字段值

sql - UNION ALL 和 MINUS 结果行源标识

oracle - 从 oracle 转储文件中导入特定表?

sql - 修改 Oracle 中的唯一约束

SQL命令未正确结束?

mysql - SQL语法限制1个错误