Ich verbinde eine Verbindung zu einer DB2-Datenbank (DB2 v9.7.400.501) über meine Java-Webanwendung mithilfe des IBM DB2 Type 4-Treibers (db2jcc4.jar). Wenn ich versuche, eine SQL-Anweisung wie folgt auszuführen,SQL - UPPER-Funktion in DB2 funktioniert nicht
SELECT * FROM USERS WHERE UPPER(USERNAME) = UPPER('testuser');
Ich erhalte die folgende Ausnahme:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;= UPPER('testuser');END-OF-STATEMENT, DRIVER=4.12.55
Das Problem ist von der UPPER
Funktion, da normalerweise eine normale select-Anweisung ausführt.
"END-OF-STATEMENT" würde vielleicht folgern, dass, wie auch immer Sie es ausführen, das erste einfache Zitat als das Ende der Zeichenkette interpretiert? Sie könnten versuchen, die einfachen Anführungszeichen durch zwei einfache Anführungszeichen zu ersetzen, um zu testen, ob es das ist. – Bridge
@Bridge Jetzt bekomme ich eine andere Ausnahme: 'com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Fehler: SQLCODE = -104, SQLSTATE = 42601, SQLERRMC = testuser; ER (LOGIN) = UPPER (''; CONCAT, DRIVER = 4.12.55' – user1135357
Sieht aus, als wäre meine Vermutung falsch – Bridge