gpt4 book ai didi

java - 在查询中使用带间隔的 prepareStatement 时出错

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:36 26 4
gpt4 key购买 nike

在像这样的 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 中的错误吗?我可以将准备好的语句与间隔一起使用吗?

最佳答案

整个表达式 INTERVAL '7' DAY 是一个文字,您不能简单地用变量(参数)替换其中的一部分。请改用函数 NUMTODSINTERVAL(?,'DAY')

关于java - 在查询中使用带间隔的 prepareStatement 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com