環境: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...