ORA-00933: SQL 命令未正确结束异常
Posted
技术标签:
【中文标题】ORA-00933: SQL 命令未正确结束异常【英文标题】:ORA-00933: SQL command not properly ended exception 【发布时间】:2018-10-29 06:03:25 【问题描述】:SELECT * FROM SMFTABLE WHERE (Upper(SYMBOL) LIKE '%A%' );
上面的查询给出了一个
查询由以下代码构建:
buff.append("SELECT * FROM ").append(smftable).append(" WHERE (Upper(" + (String) colNames).append(") LIKE '%").append(secString.toUpperCase()).append("%' );");
【问题讨论】:
smftable
的值是多少,这个(字符串?)变量在哪里定义?
secString
的内容是什么,你检查它是否包含任何单引号?
smftable 包含“SMFTABLE”作为其值,而 secString 包含要在给定查询“A”或“a”中搜索的字符串
【参考方案1】:
从末尾删除;
,因为 JDBC 不需要它。试试这个。。
【讨论】:
尾随分号不应破坏查询(我认为)。 @TimBiegeleisen:是的,但会出现不同的错误消息:***.com/questions/10728377 @a_horse_with_no_name 我似乎记得在 JDBC 和 mysql 中使用分号。从this post 我了解到一些驱动程序将其删除,而其他驱动程序将因错误而失败。并非在所有情况下都需要(我认为)。 是的。我确实尝试删除它,但它没有改变结果,即关于异常以上是关于ORA-00933: SQL 命令未正确结束异常的主要内容,如果未能解决你的问题,请参考以下文章
ORA-00933: SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束
SQL 错误:ORA-00933:SQL 命令未正确结束 00933。00000 -“SQL 命令未正确结束”