如何在Java中用单引号引起查询语句。当我搜索带有单引号的单词时,它没有显示要显示的记录
例如我有一个名字D'costa我将如何使用java搜索这个
getSearchByUserSQL.append("SELECT * FROM SID_USERS ");
getSearchByUserSQL.append("WHERE lower(FIRSTNAME) like ?
OR lower(LASTNAME) like ?");
最佳答案
您需要使用'
对\'
进行转义。这里\
是转义字符。
您可以使用String.replace将'
替换为\'
。
Java中的EscapeSequence:
\ b /* \u0008: backspace BS */
\ t /* \u0009: horizontal tab HT */
\ n /* \u000a: linefeed LF */
\ f /* \u000c: form feed FF */
\ r /* \u000d: carriage return CR */
\ " /* \u0022: double quote " */
\ ' /* \u0027: single quote ' */
\ \ /* \u005c: backslash \ */
Doc Link