zoukankan      html  css  js  c++  java
  • 特殊字符转义

    变量符"&"转义

      在DML中,若操作的字符中有特殊字符"&",则会被oracle视作是输入变量的标志,此时需要用转义字符来进行转义

      以下脚本在执行过程中,会导致数据缺失,目标表数据中只包含'辽宁','&大连'会被忽略

    insert into tableA values ('辽宁&大连');

      &符号是Oracle里面用来识别自定义变量的设置

      方法1:在SQL*PLUS下执行以下命令将其关闭,然后再次执行导入脚本,问题搞定

    Set define OFF;

      注意:如果是在TOAD中执行,建议在每一个要导入的脚本前执行以上命令,否则当导入第二个含有特殊字符的脚本的时候,又会出错
         如果是在SQL*PLUS中执行,则只需要设置一次define OFF,后面就可以连续导入了,直到重新设置define ON为止

      方法2:在SQL语句中将'&'替换成chr(38),因为chr(38)是"&"的ASCII码

    select 'Tom' || chr(38) || 'Jerry' from dual;

      方法3:分拆原来的字符串

    select 'Tom' || '&' || 'Jerry' from dual;

      总结:方法1最为简便,而且效率也最高
         方法2因为有一个调用函数的过程,所以性能稍差
         方法3需要两次连接字符串,效率最差

    单引号"'"转义

      方法1:使用转义字符

    Select 'test' || '''' from dual;  --''''中第一和第四个'的作用是包含字符串,第二个'是转义字符,第三个'是真正的内容

       方法2:使用另一方式的转义字符

    Select 'test''' from dual;  --'''中第一和第二个'分别是转义字符和真正内容,第三个'跟最开始的'匹配
  • 相关阅读:
    php开发环境
    Kofax Transformation Modules
    htmlagilitypack
    OpenOffice 和 LibreOffice
    php manual
    using the web deploy
    *.deploy.cmd
    Volumn Shadow Copy
    Web Deployment Tool 服务器端
    趣味编程丨如何用C语言区分旅客的国籍?教你一招,包你学会!
  • 原文地址:https://www.cnblogs.com/shiliye/p/12565821.html
Copyright © 2011-2022 走看看