天天看點

oracle sql嵌套單引号,Oracle SQL 特殊字元 轉義 嵌套單引号 雙引号

特殊字元

轉義方式

&

||'&'|| 或 ||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)