Oracle insert数据时字符串中有‘单引号问题
Posted 浅殇忆流年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle insert数据时字符串中有‘单引号问题相关的知识,希望对你有一定的参考价值。
在我们把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');
以上是关于Oracle insert数据时字符串中有‘单引号问题的主要内容,如果未能解决你的问题,请参考以下文章
SQL2000.特殊insert.要插入包含单引号与逗号的值.请高手解答!