oracle 特殊字元轉義

2021-06-04 05:14:51 字數 2056 閱讀 6865

環境:oracle 9i  plsql

在plsql裡邊執行:

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'

這條sql語句往資料庫的pageurl欄位放進去了乙個url位址,但是執行的時候卻並非那麼理想,因為這其中有乙個oracle的特殊字元,需要進行轉義,那就是字元'&'.

怎麼處理上例中的特殊字元?

兩個辦法:

1) update userinfo setpageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'

2) update userinfo setpageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'

其中||是連字元,chr(38)跟ascii的字元轉碼是一致的。

plsql中還可以set define off來關閉特殊字元,還可以用showdefine來檢視有些特殊定義的字元。

2、oracle 中如何轉義 特殊字元

問 : 如何轉義 下劃線 _

select * from ng_values wherename like 'lady_%'

jieguo 結果顯示lady_test,lady_test,lady1

正確結果應該是:lady_test,lady_test

不包括 lady1

請各位給出轉義方法,3ks

answer:

select ... from ... where ...like '/_%' escape '/'; 3、

insert into t(col) values(chr(ascii('&'))) ;

(方法一)

例:插入特殊字元'&'

sql> show define

define "&" (hex 26) ? <--- define的default值是『&』

sql> set define off

sql> show define

define off

sql> insert into values ('at&t');

/ 1 row created

(方法二)

sql> show escape

escape off <--- escape的default值是 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 'myjsp?page=1&pagesize=10' from dual;

select 'myjsp?page=1&pagesize=10' from dual;

sql>   create  table   a   (b   varchar2(10));  

table   created  

sql>   insert   into   a   values('_a');  

1   row   inserted  

sql>   select   b   from   a   where  instr(b,'_a')>0;  

b  

----------  

_a   

select   b   from   a   where   b   like  '%\_a%'   escape   '\'

先啟動轉義符  

set   escape   on  

select   b   from   a   where   b   like  '%\_a%'   escape   '\';

select   b   from  a   where   b   like   '%\_a%'   escape  '\'  

oracle中 特殊字元 轉義 ( )

在dml中,若操作的字元中有 特殊字元,則會被oracle視作是輸入變數的標誌,此時需要用轉義字元來進行轉義。這個是oracle 裡面用來識別自定義變數的設定,現在我們在sql plus下將其關閉 sql set define off 然後再次執行匯入指令碼,ok!問題搞定。注意 如果是在toad中...

Oracle特殊字元,轉義字元的處理

plsql中還可以set define off來關閉特殊字元,還可以用show define來檢視有些特殊定義的字元。oracle資料有個字段是儲存url的,內容有特殊字元 如果直接想執行查詢或插入操作的話有問題。如下 update userinfo set pageurl test.php?pag...

oracle中插入特殊字元要轉義

感謝原作者,此處僅儲存學習!oracle資料有個字段是儲存url的,內容有特殊字元 如果直接想執行查詢或插入操作的話有問題,如下 在plsql裡邊執行 update userinfo set pageurl test.php?page 1 pagesize 10 where id test 這條sq...