programing

'따옴표가 붙은 문자열이 제대로 종료되지 않음'을(를) 유발하는 SQL에서 단일 따옴표를 이스케이프하는 방법은 무엇입니까?

elecom 2023. 7. 22. 09:24
반응형

'따옴표가 붙은 문자열이 제대로 종료되지 않음'을(를) 유발하는 SQL에서 단일 따옴표를 이스케이프하는 방법은 무엇입니까?

데이터베이스(>10K)에서 용어를 읽으려고 하는데 다른 쿼리에서 해당 용어를 사용하고 있습니다.Oracle에서 다음 오류가 발생합니다.

따옴표로 묶인 문자열이 제대로 종료되지 않음'

했다

term.replaceAll("'", "\\'");

하지만 제가 보기엔 그게 효과가 없는 것 같아요.또한 이 용어들은 텍스트로 변환될 때 문서의 토큰입니다.이 문제를 극복할 수 있는 정규 표현이 있습니까?

정확한 SQL 쿼리는 다음과 같습니다.

String sql = "Select * from indexDB where (DocID=" + d.getDocId() + "and Term='" + term + "')";

저는 자바를 사용합니다.그 대체품은 저에게 효과가 없습니다.

하나의 따옴표를 반복하여 이스케이프할 수 있습니다.

term.replaceAll("'","''");

더 나은 옵션은 매개 변수화된 쿼리입니다.예를 들어, 고객 언어를 알아야 합니다.

언급URL : https://stackoverflow.com/questions/11693846/how-to-escape-single-quote-in-sql-which-is-causing-quoted-string-not-properly-t

반응형