sql轉義符號
① sql語句中轉義字元怎麼寫
0、特殊轉義:單引號
--
用2個單引號''
兩種比較常見的方式
1、用中括弧[]轉義
WHERE
ColumnA
LIKE
'aaa[_]bbb'
---
2、用關鍵字ESCAPE
轉義
WHERE
ColumnA
LIKE
'%aaa/%bbb%'
ESCAPE
'/'
註:
A)方式2不如1方便,適用面也窄小,清晰度也差。
B)方式0在使用動態SQL,尤其是「嵌套
+
代碼生成」的高級應用中,很容易出錯。
② mybatis sql轉義符號怎麼寫
1、在xml的sql語句中,不能直接用大於號、小於號要用轉義字元
如果用小於號會報錯誤如下:
org.apache.ibatis.builder.BuilderException:
Error
creating
document
instance.
Cause:
org.xml.sax.SAXParseException:
The
content
of
elements
must
consist
of
well-formed
character
data
or
markup.
轉義字元
2、使用
<![CDATA[
]]>標記的sql語句中的<where><if>等標簽不會被解析
③ SQL 轉義字元,如何在存儲過程中寫 ' (單引號)
在存儲過程中,密碼中有』(單引號),第一反應使用轉義字元。敲上/(反斜杠),失敗告終; 網路一下如下結果,SQL 的轉義字元是:'(單引號),所以在密碼中寫』』(兩個單引號),表示一個單引號。C++ 的轉義字元是:\SQL 的轉義字元是:'(單引號)例:select * from tbl where uyear='''06'請注意其中紅色背景的單引號,它即表示轉義字元,如果我們省略,則整個語句會出錯,轉義字元不會輸出,上例中 uyear 的實際條件值為 '06,而不是 ''06為什麼不能省略呢,假如我們省略,上句變成:select * from tbl where uyear=''06'由於在 SQL 中單引號表示字元串的開始和結束符號,於是 SQL 解釋器會認為語句中灰色背景的為字元串,其後的語句顯然是個錯誤的語句,當然會報錯,為了解決字元串的單引號問題,就出現了轉義字元單。
④ sql需要轉義的字元有哪些
特殊轉義:單引號 -- 用2個單引號''
兩種比較常見的方式
(1)用中括弧[]轉義
WHERE ColumnA LIKE 'aaa[_]bbb' ---
(2)用關鍵字ESCAPE 轉義
WHERE ColumnA LIKE '%aaa/%bbb%' ESCAPE '/'
註:
1)方式2不如1方便,適用面也窄小,清晰度也差。
2)方式0在使用動態SQL,尤其是「嵌套 + 代碼生成」的高級應用中,很容易出錯
⑤ SQL語句like子句中的轉義符(解決like搜索%搜索到全部內容)
SQL LIKE里查詢有下劃線'_'或是'%'等值的記錄,直接寫成like 'XXX_XX',則會把'_'當成是like的通配符。
例如搜索 select * from user_all_tables where table_name like '%%%' 會將表中所有數據檢索出來
Android SQL中暫時發現''%''為通配符
SQL里提供了 escape子句來處理這種情況,escape可以指定like中使用的轉義符是什麼,而在轉義符後的字元將被當成原始字元,這和C里的'\'很像,但是escape要求自定義一個轉義符,而不是指定了'\』字元。如:
select * from user_all_tables where table_name like 'YW__%' escape '_'
含義是查出當前用戶表下所有以'YW_'開頭的表,其中第一個'_'是轉義符,第二個是被轉義的字元,等效可以寫成:
select * from user_all_tables where table_name like 'YW\_%' escape '\'
這里 如果直接搜索通配符例如設置 escape '_' 直接搜索 _ SQL語句為: select * from user_all_tables where table_name like '%_%' 這時會將 含%內容全部搜索出來 ,這里現行解決方案為兩條SQL語句
String.contains()判斷搜索內容是否含有'%'
若含有則使用 select * from user_all_tables where table_name like '%%%' escape '_'
不含則使用 select * from user_all_tables where table_name like '%%%'
原文鏈接
⑥ sql語句備份需指定轉義字元
需指定轉義字元。MYSQL學習與資料庫綜合實介紹說明,SQL語句備份,需指定轉義字元ESCAPEDBY來標志。轉義字元,是很多程序語言、數據格式和通信協議的形式文法的一部分,對於一個給定的字母表,一個轉義字元的目的是開始一個字元序列。
⑦ sql server中sql語句中單引號怎麼轉義
sql server有兩個轉義符:
' 默認情況下, '是字元串的邊界符, 如果在字元串中包含', 則必須使用兩個', 第1個'就是轉義符
另一個轉義符是"
當SET QUOTED_IDENTIFIER OFF時, "是字元串邊界符, 字元串中的"必須用兩個"表示。
vb: "" <= "
sql server 2000: ''' <= 'eg:declare @SearchType nvarchar(50)
declare @SearchString nvarchar(255)
declare @SearchKey nvarchar(50)
declare @SearchSql nvarchar(2000)
set @SearchType = '2'
set @SearchKey = 'd'
set @SearchString = CASE @SearchType
when '1' then '1 = 1'
when '2' then 'p.ProjectName like ''' + '%' + @searchkey + '%' + ''''
when '3' then 'p.ProjectCity like ''' + '%'+ @searchkey + '%' +''''
when '4' then 'c.CateName like ''' + '%' + @searchkey + '%' + ''''
when '4' then 'p.ProjectManager like ''' + '%' + @searchkey + '%' +''''ENDset @SearchSql = N'
SELECT p.*,datename(year,ProjectPostTime)+ ' + '''-''' + ' + datename(month,ProjectPostTime)+ '+ '''-''' + ' + datename(day,ProjectPostTime)' + ' as PostTime, m.EmpName,c.CateName FROM proProject As p ,mrBaseInf As m ,proCate c WHERE p.EmpID = m.EmpID and p.CateID = c.CateID and '
+ @SearchString
⑧ sql語句中如何插入轉義字元
只要在插入庫之前作處理就可以了。利用replace函數把單引號替換為其它字元,如str.replace("'","*");其中str是你加密後的字元串!
⑨ 轉義字元有都哪些
轉義字元有:a、、 、f、 、v等。
除此之外還有如HTML轉義符、java轉義符、xml轉義符、 oracle轉義符、sql轉義符 、sqlserver 轉義符、php轉義符、asp轉義符、vb轉義符、 javascript轉義符等等,還有網址中的百分號。
以下是轉義字元用處的相關介紹:
轉義無非是兩種情況:將普通字元轉為特殊用途,一般是編程語言中,用於表示不能直接顯示的字元,比如後退鍵,回車鍵等。用來將特殊意義的字元轉換回它原來的意義。
一般用在正則表達式中。還有有些腳本語言是弱類型,有些語言比如html 並不是編程語言,而是標記語言,有些語言只有一種類型,比如shell腳本語言,這些語言中字元串都不加引號」 」 ,或者可以不加引號「 」,所以有時候需要轉義字元說明某字元此時的身份是普通字元,而不是有特殊意義的元字元。
以上資料參考網路——轉義字元
⑩ 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 轉義,作為普通字元使用