Oracle中转义字符的详细介绍
最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段“flag”为“I”,语句为:
updatetable_namesetflag='I'
“I”作为字符串,所以语句中I需要加上单引号。
由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql:
select'update'||table_name||'setflag='I''||';'fromuser_tables
这个时候运行,“报错:ORA-00923:未找到要求的FROM关键字”,报错位置就在'I”的第二个单引号位置,因为单引号配对关系,I不是字符串了,所以就报错了,那么如果要显示一个单引号该怎么做呢?
试了语句:
select'''fromdual
同样也会报错,原来“'”作为一个关键字,如果需要显示“'”,需要使用转义字符,就像java的“\”一样。
而Oracle的转义字符就是单引号“'”,所以sql应该这么写:
select''''fromdual
怎么理解呢?把第二个单引号“'”看成“\”就好了,所以我需要的sql就是:
select'update'||table_name||'setflag=''I'''||';'fromuser_tables
这样就OK啦!
总结
以上就是关于Oracle转义字符的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短