Aas*_*ima 15 java regex sql oracle
我试图从数据库中读取术语(> 10K),我在另一个查询中使用该术语.我在Oracle中遇到以下错误:
引用字符串未正确终止'
我做到了
term.replaceAll("'", "\\'");
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有完成我的工作.此外,这些术语是文档转换为文本时的标记.是否有正则表达式可以解决这个问题?
确切的SQL查询是:
String sql = "Select * from indexDB where (DocID=" + d.getDocId() + "and Term='" + term + "')";
Run Code Online (Sandbox Code Playgroud)
我正在使用Java.替换对我不起作用.
And*_*mar 36
您可以通过重复它来转义单引号:
term.replaceAll("'","''");
Run Code Online (Sandbox Code Playgroud)
更好的选择是参数化查询.例如,我们必须知道您的客户语言.