IBM DB2 유형 4 드라이버 (db2jcc4.jar)를 사용하여 Java 웹 응용 프로그램에서 DB2 데이터베이스 (DB2 v9.7.400.501)에 연결하고 있습니다. 나는이 같은 SQL 문을 실행하려고하면 DB2의 SQL - UPPER 함수가 작동하지 않습니다.
SELECT * FROM USERS WHERE UPPER(USERNAME) = UPPER('testuser');
나는 다음과 같은 예외를 얻을 : 일반 select 문이 정상적으로 실행 이후
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는 대한 확인을 보이지만 anbout DB2를 모르는 :
"END OF OF STATEMENT"는 처음 실행되는 작은 따옴표를 문자열의 끝으로 해석하고 있다고 가정합니다. 작은 따옴표를 두 개의 작은 따옴표로 바꾸어서 테스트 할 수 있습니다. – 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