特殊字元
轉義方式
&
||'&'|| 或 ||chr(38)||
_
'/_%' escape '/'
‘
‘’
update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'
怎麼處理上例中的特殊字元?
兩個辦法:
1) update userinfo set pageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'
2) update userinfo set pageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'
其中 || 是連字元, chr(38)跟ASCII的字元轉碼是一緻的。
plsql中還可以set define off來關閉特殊字元,還可以用show define來檢視有些特殊定義的字元。 例:插入特殊字元'&'
(方法一)
insert into t(col) values(chr(ascii('&'))) ;
SQL> SHOW DEFINE
define "&" (hex 26) ?
SQL> SET DEFINE OFF
SQL> SHOW DEFINE
define OFF
SQL> INSERT INTO VALUES ('AT&T');
/
1 row created
(方法二)
SQL> SHOW ESCAPE
escape OFF
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
escape "\" (hex 5c)
SQL> INSERT INTO temp_table VALUES ('select * from emp where ename = \&1');
1 row created.
問 : 如何轉義 下劃線 _
select * from ng_values where name like 'lady_%'
jieguo 結果顯示 lady_test,lady_test,lady1
正确結果應該是:lady_test,lady_test
不包括 lady1
請各位給出轉義方法,3ks
answer:select ... from ... where ... like '/_%' escape '/';
轉義字元 %
處理手法如&
轉義字元 ’單引号 在PL/SQL裡兩個單引号等于一個單引号
雙引号 = chr(34)