oracle學習總結二(轉義字元)

2021-04-08 19:59:16 字數 1620 閱讀 6754

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

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;

025轉義字元

正規表示式的功能主要取決於模式字串。原因是模式字串不僅僅包含純文字,它還可以包含原義字元和轉義序列,其中原義字元用於給出命令的特定字元,而轉義字元都是以反斜槓 開頭的字元,它們具有特殊的含義。net 中正規表示式支援的字元轉義。符號含義 示例匹配的示例 輸入文字的文字 bb,但只能是文字中的第乙個字...

2 5 轉義字元

轉義字元是用來表示換行 反斜槓等難以表示或者引起歧義的字元。轉義字元 意義ascii碼值 十進位制 a響鈴 bel 007 b 退格 bs 將當前位置移到前一列 008 f 換頁 ff 將當前位置移到下頁開頭 012 n 換行 lf 將當前位置移到下一行開頭 010 r 回車 cr 將當前位置移到本...

2轉義字元和原字元

1轉義字元 1 什麼是轉義字元 反斜槓 想要實現的轉義功能的首字母和 2 為什麼需要轉義字元 1 當字串中包含反斜槓,單引號和雙引號等有特殊功能的字元時,必須使用反斜槓對這些字元進行轉移 換乙個含義 ex 反斜槓 單引號 告訴電腦斜槓後面的 是輸出,而不是 特殊符號 雙引號 2 當字串包含換行,回車...