折雨的天空
oracle的SQL中转义单引号的问题
2020-12-21 我好笨


查询语句如:







select ''''||name||''''||',' from tablename where id>5.



或者,有时候我们需要依赖表中的数据来生成SQL语句。







SELECT 'ALTER SYSTEM KILL SESSION '''||SID||','||SERIAL#||''';' FROM v$session where sid IN (select session_id from v$locked_object)




单引号必须成对出现,所以先把首尾的单引号找出来。然后从第二个单引号开始,每两个单引号转义成一个单引号。



所以,如果是4个单引号会转义成1个单引号,如果是6个单引号,转义成2个单引号。如果是8个单引号,转义成3个单引号。


发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容