【发布时间】:2015-03-15 20:49:09
【问题描述】:
当像这样在prepareStatement 中运行这个查询SELECT SYSDATE + INTERVAL '7' DAY FROM DUAL; 时
PreparedStatement ps = connection.prepareStatement("select sysdate + interval ? day from dual" );
ps.setString(1, "7");
ps.executeQuery();
它会抛出一个异常,语法不好,很明显,因为我能够在 sql-developer 中运行相同的查询。
这是 PreparedStatement 中的错误吗?我可以将准备好的语句与间隔一起使用吗?
【问题讨论】:
-
不应该将“7”设置为int值吗?
-
试试
interval '7 day' -
不,应该是字符串,区间的oracle语法是
interval 'SOME_NUMBER' day
标签: java oracle prepared-statement intervals