十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、符号的处理方案
成都创新互联是一家专注于网站设计、网站制作与策划设计,慈利网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:慈利等地区。慈利做网站价格咨询:13518219792
1、在前面加上语句set define off
首先要理解是做什么的,这个符合在Oracle中表示替代变量,执行时会提示用户输入,然后以及后面的字符会替换为用户输入的字符。
set define off的作用是关闭替代变量功能。当然你还可以把替代变量改为其它符号,比如改为*号,输入这个命令:set define *
2、在SQL语句中将分拆并替换成chr(38)
38是的ASCII码,实例sql
3、分拆出号,这也是最简单直接的方法
二、符号'的处理方案
1、直接转义
2、分拆转义
3、分拆并替换成chr(39)
update test t set t.v_data= (select '㎡' from dual) where t.id=0;-
你看看这样的方式能满足你的要求不?
其实就是用这个得到 select '㎡' from dual 你特殊的表达式在插进去
方法一:在SQL语句中将''替换成chr(38),因为chr(38)是‘’的ASCII码
SQL Select 'Tom' || chr(38) || 'Jerry' from dual;
方法二:分拆原来的字符串
SQL Select 'Tom' || '' || 'Jerry' from dual;
备注:如果是在命令行执行,可以设置 ”Set define OFF“,之后在正常执行sql语句即可。
既然是插入操作,其实需要特别照顾的也就是字符串分解符单引号,其他通配符,转义字符只要在单引号之内都是作为普通字符输入的,不需要考虑。想要在字符串内包含一个单引号,只需要连续输入两个单引号即可。
SELECT Q'{ --""I'am }' FROM dual;
大括号中间的内容随便写 ,任何符号都可以,包括注释符号--
SELECT 'A'||CHR(39)||'B' FROM dual;
CHR(39)就是特殊符号'
SELECT REGEXP_REPLACE('1、字符串一2、字符串二3、字符串三4、字符串四',
'(.*一)(.*二)(.*三)(.*)',
'\1br/\2br/\3br/\4')
FROM DUAL