在我们把Excel表格数据插入表中的时候,常常使用拼接insert 语句的方式;
当excel表格数据遇到单引号的时候,最后得到的insert into如下:
insert into test(id,name,age)values(sys_guid(),'张'三','28');
此时得到的SQL执行会报错。
解决方案:
判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''的格式。
下面提供一个简单的工具类:
public static String replaceStr(String sourceStr) {
if (StrUtil.isBlank(sourceStr)) {
return "";
}
String substring = sourceStr.substring(1, sourceStr.length() - 1);
if (substring.contains("'")) {
String replaceStr = substring.replace("'", "''");
return "'" + replaceStr + "'";
}
return sourceStr;
}
最终处理得到的SQL语句如下:
insert into test(id,name,age)values(sys_guid(),'张''三','28');