ORACLE學習總結之 特殊字元

2021-08-30 06:01:11 字數 2098 閱讀 6723

1、oracle 特殊字元 轉義

環境:oracle 9i  plsql

在plsql裡邊執行:

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

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

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

兩個辦法:

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來檢視有些特殊定義的字元。

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

問 : 如何轉義 下劃線 _

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 '/';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   '\' 

shell學習之 特殊字元

shell中的特殊字元 分隔符號,用來表示一行執行多條命令 echo hello echo there if f file then cd file fi case 的選項終止符 ex case var in 1 echo 1 var 2 echo 2 var esac 1 相當於source命令 ...

oracle 特殊字元轉義

環境 oracle 9i plsql 在plsql裡邊執行 update userinfo set pageurl myjsp?page 1 pagesize 10 where id test 這條sql語句往資料庫的pageurl欄位放進去了乙個url位址,但是執行的時候卻並非那麼理想,因為這其中...

oracle插入特殊字元

今天在匯入一批資料到oracle時,碰到了乙個問題 toad提示要給乙個自定義變數target賦值,一開始我很納悶,資料是一系列的insert語句,怎麼會有自定義變數呢?後來搜尋了一下關鍵字target發現,原來是因為在插入資料中有乙個欄位的內容如下 oracle把這裡的url的引數連線符 當成是乙...