在Oracle PL / SQL中,如何转义字符串中的单引号?我以这种方式尝试过,它不起作用。declare stmt varchar2(2000);begin for i in 1021 .. 6020 loop stmt := 'insert into MY_TBL (Col) values(\'ER0002\')'; dbms_output.put_line(stmt); execute immediate stmt; commit; end loop;exception when others then rollback; dbms_output.put_line(sqlerrm);end;/
3 回答
Qyouu
TA贡献1786条经验 获得超11个赞
您可以使用文字引号:
stmt := q'[insert into MY_TBL (Col) values('ER0002')]';
文字文档可在此处找到。
或者,您可以使用两个引号来表示单个引号:
stmt := 'insert into MY_TBL (Col) values(''ER0002'')';
带有Q语法的文字引用机制更加灵活易读。
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
这是一篇博客文章,应有助于转义字符串中的滴答声。
这是上述信息中最简单的方法:
最简单和最常用的方法是使用一个单引号,并且在两侧都使用两个单引号。
从双重选择'test单引号''';
以上语句的输出为:
测试单引号”
简单地说,您需要一个额外的单引号字符来打印单引号>字符。也就是说,如果您输入两个单引号字符,Oracle将打印一个。第一个>充当转义字符。
这是在Oracle中打印单引号的最简单方法。但是,当您必须打印一组引号而不是仅打印引号时,它将变得复杂。在这种情况下,以下方法可以正常工作。但这需要更多的打字工作。
- 3 回答
- 0 关注
- 1381 浏览
添加回答
举报
0/150
提交
取消