Я подключаюсь к базе данных DB2 (DB2 v9.7.400.501) из своего веб-приложения Java с помощью драйвера IBM DB2 Type 4 (db2jcc4.jar). При попытке выполнить оператор SQL, как это,Функция SQL - UPPER в DB2 не работает
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
так, нормальный оператор выбора выполняет нормально.
«КОНЕЦ-ЗАЯВЛЕНИЕ», возможно, вывести, что, однако, вы используете его, интерпретируя первую одинарную цитату как конец строки? Вы можете попробовать заменить одиночные кавычки двумя одинарными кавычками для проверки, если это так. – Bridge
@Bridge Теперь я получаю другое исключение: 'com.ibm.db2.jcc.am.SqlSyntaxErrorException: ошибка DB2 SQL: SQLCODE = -104, SQLSTATE = 42601, SQLERRMC = testuser; ER (LOGIN) = UPPER (''; CONCAT, DRIVER = 4.12.55' – user1135357
Похоже, что моя догадка была неправильной – Bridge