gpt4 book ai didi

java - SQL - DB2 中的 UPPER 函数不起作用

转载 作者:行者123 更新时间:2023-12-04 05:51:51 25 4
gpt4 key购买 nike

我正在使用 IBM DB2 Type 4 驱动程序 (db2jcc4.jar) 从我的 Java Web 应用程序连接到 DB2 数据库 (DB2 v9.7.400.501)。当我尝试执行这样的 SQL 语句时,

SELECT * FROM USERS WHERE UPPER(USERNAME) = UPPER('testuser');

我收到以下异常:

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;= UPPER('testuser');END-OF-STATEMENT, DRIVER=4.12.55



问题来自 UPPER功能,一个正常的选择语句正常执行。

最佳答案

也许你应该这样使用:

SELECT * FROM USERS WHERE UPPER(USERNAME) LIKE UPPER('testuser');

您的带有 '=' 的代码对于 SQLite 似乎没问题,但不知道 db2。

更新。经过一番调查,我可以说错误是由 Java 代码导致的,该代码尝试使用“;”在一个查询中执行多个语句。作为分隔符。
您应该尝试对多个语句使用 PreparedStatement、addBatch() 和 executeBatch()。

UPD2。这是 DB2 相关的问题。 PostgreSQL,afaik,允许在单个查询中使用多个语句。

关于java - SQL - DB2 中的 UPPER 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9972766/

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