首页 > 解决方案 > Oracle JDBC PreparedStatement 中的 TO_DATE 提供无效标识符

问题描述

我对此感到有些困惑,因为我确信我已经这样做了一百次,但是从这段 JDBC 准备语句中:

"SELECT {0} FROM " +
                "(select a.* " +
                "from TABLE a " +
                "inner join TABLE p ON " +
                "and p.AS_OF_DT = TO_DATE(?, 'yyyyMMdd')";
...
    pStmt.setString(1, dateAsString);

我正进入(状态

java.sql.SQLSyntaxErrorException: ORA-00904: "YYYYMMDD": invalid identifier

我可以通过删除 YYYYMMDD 周围的引号来重现 TOAD 中的错误。

我需要在准备好的语句字符串中做什么来防止这种情况发生?

我努力了

标签: javaoraclejdbc

解决方案


推荐阅读