时间:2021-05-24
最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段“flag”为“I”,语句为:
update table_name set flag = 'I'“I”作为字符串,所以语句中I需要加上单引号。
由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql:
select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables这个时候运行,“报错:ORA-00923: 未找到要求的 FROM 关键字”,报错位置就在'I”的第二个单引号位置,因为单引号配对关系,I不是字符串了,所以就报错了,那么如果要显示一个单引号该怎么做呢?
试了语句:
select ''' from dual同样也会报错,原来“'”作为一个关键字,如果需要显示“'”,需要使用转义字符,就像java的“\”一样。
而Oracle的转义字符就是单引号“'”,所以sql应该这么写:
select '''' from dual怎么理解呢?把第二个单引号“'”看成“\”就好了,所以我需要的sql就是:
select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables这样就OK啦!
总结
以上就是关于Oracle转义字符的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python中转义字符正则表达式使用反斜杠”\“来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此,Python用”\\\\“表示正则表达式中的”
ORACLE单引号转义:在ORACLE中,单引号有两个作用:1:字符串是由单引号引用2:转义。单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不
PowerShell中转义字符是`,向后撇号(backwardapostrophe,是tab键上面的按键,不是单引号),例如:复制代码代码如下:Write-Ho
MySQL转义转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。MySQL中
Python转义字符在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:原始字符串有时我们并不想让转义字符生效,我们只想显示字符串原来的意