sql字元轉義
A. sql語句中如何插入轉義字元
只要在插入庫之前作處理就可以了。利用replace函數把單引號替換為其它字元,如str.replace("'","*");其中str是你加密後的字元串!
B. sql怎麼使用escape標識轉義符
在處理sql時,遇到insert 或update 的參數中含有特殊字元「&」,下劃線「_」, 單引號" ' "等時,要做轉義處理。
例:插入特殊字元'&'
update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'
兩個辦法:
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的字元轉碼是一致的。
例:搜索以「QA_」開頭的數據 :
select CODE from CNT_CODELIST where code like 'QA_%'
結果為:QA_OFFICER_1,QA_OFFICER_2,QA112
不符合,必須把下劃線轉義
select CODE from CNT_CODELIST where code like 'QA/_%'escape '/'
結果為:QA_OFFICER_1,QA_OFFICER_2
轉義字元 % 處理手法如&
轉義字元 』單引號 在PL/SQL里兩個單引號等於一個單引號
補充:
SQL中escape的用法
使用 ESCAPE 關鍵字定義轉義符。 在模式中,當轉義符置於通配符之前時,該通配符就解釋為普通字元。
例如,要搜索在任意位置包含字元串 5% 的字元串: WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
前後兩個%作為通配符使用,中間的%經過ESCAPE 轉義,作為普通字元使用
C. SQL 轉義字元,如何在存儲過程中寫 ' (單引號)
在存儲過程中,密碼中有』(單引號),第一反應使用轉義字元。敲上/(反斜杠),失敗告終; 網路一下如下結果,SQL 的轉義字元是:'(單引號),所以在密碼中寫』』(兩個單引號),表示一個單引號。C++ 的轉義字元是:\SQL 的轉義字元是:'(單引號)例:select * from tbl where uyear='''06'請注意其中紅色背景的單引號,它即表示轉義字元,如果我們省略,則整個語句會出錯,轉義字元不會輸出,上例中 uyear 的實際條件值為 '06,而不是 ''06為什麼不能省略呢,假如我們省略,上句變成:select * from tbl where uyear=''06'由於在 SQL 中單引號表示字元串的開始和結束符號,於是 SQL 解釋器會認為語句中灰色背景的為字元串,其後的語句顯然是個錯誤的語句,當然會報錯,為了解決字元串的單引號問題,就出現了轉義字元單。
D. SQL Server 里的轉義字元怎麼寫
replace('str','\n','<br/>')
把str 的引號去掉.
E. SQL 字元轉義是怎麼做的
用escape關鍵字即可。
比如:
SELECT name FROM emp
WHERE id LIKE '%/_%' ESCAPE '/';
F. sql 轉義字元類似於{}這種符號怎麼轉義
SELECT * , REPLACE( title_template, '{actor}', '' )
FROM `pre_home_feed`
ORDER BY `pre_home_feed`.`dateline` ASC LIMIT 0 , 30
G. sql需要轉義的字元有哪些
特殊轉義:單引號 -- 用2個單引號''
兩種比較常見的方式
(1)用中括弧[]轉義
WHERE ColumnA LIKE 'aaa[_]bbb' ---
(2)用關鍵字ESCAPE 轉義
WHERE ColumnA LIKE '%aaa/%bbb%' ESCAPE '/'
註:
1)方式2不如1方便,適用面也窄小,清晰度也差。
2)方式0在使用動態SQL,尤其是「嵌套 + 代碼生成」的高級應用中,很容易出錯
H. SQL語句中轉義字元怎麼寫
0、特殊轉義:單引號
--
用2個單引號''
兩種比較常見的方式
1、用中括弧[]轉義
WHERE
ColumnA
LIKE
'aaa[_]bbb'
---
2、用關鍵字ESCAPE
轉義
WHERE
ColumnA
LIKE
'%aaa/%bbb%'
ESCAPE
'/'
註:
A)方式2不如1方便,適用面也窄小,清晰度也差。
B)方式0在使用動態SQL,尤其是「嵌套
+
代碼生成」的高級應用中,很容易出錯。
I. SQL轉義字元
where name1='O''neal'
試試
J. PLSQL中的'的轉義關系
1. || 的作用是連接字元串。
如:
字元串常量連接: 'abc'||'def' ;
字元串變數連接: v_variable1 || v_variable2 等。
2.
首先: ' 有兩個作用:
1).對字元串定界。如v_sqlstr := 'abcdef';
就界定了一個字元串abcdef; 『 本身不是字元串的一部份。
2). ' 本身作為一個字元,' 是字元串的一部份。
如 :v_sqlstr :=''''; 指代字元串' 。 這時,' 需要轉義。
begin
dbms_output.put_line('''');
end;
/
'
PL/SQL procere successfully completed.
要表示一個' 字元 , plsql中需要用'' 來表示。
『』 相當於 字元 『 。
輸出字元a:
dbms_output.put_line('a');
輸出字元『:
dbms_output.put_line('''');
3. 開始的alter前面的'不用轉義,
因為它是定界符。
4.我們知道:
alter session set nls_date_language='AMERICAN';
是完整的sql語句,
其中的兩個' 在sql 中 ,是定界符,但是到了plsql中,整個sql語句成了一個字元串,所以'成為了兩個字元。
字元就需要轉義,
所以:
nls_date_language='
在plsql字元串中應該寫成:
nls_date_language=''
5. 如果我們做如下置換:
假設:表定界的' 可以用 () 來置換,
表字元的' 可以用 " 來置換,那麼:
sql_string 可以寫成:
sql_string := (alter session set nls_date_language=")||(AMERICAN)||(");
這樣就更好理解了。