关于mysql中特殊字符的使用注意事项

1 直接拼成sql情况
●如果是“=”,需要转义的字符为’ \
'转为''
\转为\\\\
具体代码如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\");

●如果是"like",需要转义的字符为‘ \ % _
'转为''
\转为\\\\\\\\(注意需要8个,汉)
%转为\\%
_转为\\_
具体代码如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");

2 使用预处理sql情况
●只有使用"like"时才需要转义
\转为\\\\
%转为\\%
_转为\\_
sql = sql.replace("\\", "\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");


注意:因為MySQL在字符串中使用C轉義語法(例如,“\n”),你必須在你的LIKE字符串中重複任何“\”。例如,為了查找“\n”,指定它為“ \\n”,為了查找“\”,指定它為“\\\\”(反斜线在java语法分析的时候被剥去一次,另一次是在数据库的模式匹配完成時,留下一條單獨的反斜線被匹配)。 

猜你喜欢

转载自q-chaochao.iteye.com/blog/1735511