oracle的轉義字元

2021-09-12 05:30:49 字數 2740 閱讀 3027

xdoclet在hibernate中的用法總結  linux 刪除指定日期之前的檔案

oracle的轉義字元 2009-08-03 13:35:51| 分類: sql | 標籤: |字型大小大

中小 訂閱

oracle的轉義字元需要用escape函式來定義,小小學習一下:

sql> create table t_char(a varchar2(20));

sql> insert into t_char values('a_b');

sql> insert into t_char values('acb');

sql> insert into t_char values('a%b');

sql> insert into t_char values('a''b');

sql> insert into t_char values('a/b');

sql> insert into t_char values('a\b');

sql> insert into t_char values('%');

sql> insert into t_char values('_');

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

sql> commit;

sql> select * from t_char;

a--------------------

a_bacb

a%ba'b

a/ba\b%_

a sql> select * from t_char where a like 'a_b';

a--------------------

a_bacb

a%ba'b

a/ba\b

sql> select * from t_char where a like 'a\_b' escape '\';

a--------------------

a_b

--可見要查詢含有通配字元的字串,必須要使用escape函式

sql> select * from t_char where a like 'a\'b' escape '\';

error:

ora-01756: quoted string not properly terminated

sql> select * from t_char where a like 'a''b' escape '\';

a--------------------

a'b

--但是字元'還是需要用兩個''來代替字串中的單引號

sql> select * from t_char where a like 'ax_b' escape 'x';

a--------------------

a_b

sql> select * from t_char where a like 'a''_b' escape '''';

a--------------------

a_b

sql> select * from t_char where a like 'a_%b' escape '_';

a--------------------

a%b

--可以用其他字元,甚至是「'」、「_」、「%」來用作轉義字元,但是一般都使用\,以免發生邏輯錯誤

sql> select * from t_char where a like 'a\/b' escape '\';

select * from t_char where a like 'a\/b' escape '\'

*error at line 1:

ora-01424: missing or illegal character following the escape character

sql> select * from t_char where a like 'a_/b' escape '_';

select * from t_char where a like 'a_/b' escape '_'

*error at line 1:

ora-01424: missing or illegal character following the escape character

sql> select * from t_char where a like 'a//b' escape '/';

a--------------------

a/b

sql> select * from t_char where a like 'a/\b' escape '/';

select * from t_char where a like 'a/\b' escape '/'

*error at line 1:

ora-01424: missing or illegal character following the escape character

sql> select * from t_char where a like 'a\\b' escape '\';

a--------------------

a\b--要搜尋"/"或者"\"則必須使用與之相同的符號作為轉義字元,否則無效

基本上的使用方法就是這些了,還需要注意一點,這裡的escape函式,和sqlplus中的escape環境引數·毫·無·關·系·

oracle 預設轉義字元 Oracle轉義字元

1 oracle 特殊字元 轉義 在plsql裡邊執行 update userinfo set pageurl myjsp?page 1 pagesize 10 where id test 1 update userinfo set pageurl myjsp?page 1 pagesize 10 ...

oracle 預設轉義字元 oracle轉義字元

sql select from test where test like sdd escape test sdd kk 轉義字元為 sql select from test where test like sdd escape test sdd kk 轉義字元為 sql select from te...

oracle的轉義字元

oracle的轉義字元需要用escape函式來定義,小小學習一下 sql create table t char a varchar2 20 sql insert into t char values a b sql insert into t char values acb sql insert ...