c#中轉義符總結

來源:互聯網
上載者:User

在一個字串中,如果某個序列具有特殊的含義,每個序列以反斜線符號 (“\”)開頭,稱為逸出字元。
MySQL 識別下列逸出字元: 
\0 一個 ASCII 0 (NUL) 字元。 
\' 一個 ASCII 39 單引號 (“'”) 字元。 
\" 一個 ASCII 34 雙引號 (“"”) 字元。 
\b 一個 ASCII 8 退格符。 
\n 一個 ASCII 10 分行符號。 
\r 一個 ASCII 13 斷行符號符。 
\t 一個 ASCII 9 定位字元(TAB)。 
\z ASCII(26) (Control-Z)。這個字元可以處理在 Windows 系統中 ASCII(26) 代表一個檔案的結束的問題(當使用 mysql database < filename 時 ASCII(26) 可能會引起問題產生)。 
\\ 一個 ASCII 92 反斜線 (“\”) 字元。 
\% 一個 ASCII 37 “%” 字元。它用於在本文中搜尋“%”的文字執行個體,否則這裡“%”將解釋為一個萬用字元。
\_ 一個 ASCII 95 “_” 字元。它用於在本文中搜尋“_”的文字執行個體,否則這裡“_”將解釋為一個萬用字元。
注意:如果在某些本文環境內使用 “\%” 或 “\_”,將返回字串 “\%” 和 “\_” 而不是 “%” 和 “_”。
字串中包含引號的可以有下列幾種寫法:
?一個字串用單引號“'”來引用的,該字串中的單引號“'”字元可以用“''”方式轉義。  
?一個字串用雙引號“"”來引用的,該字串中的“"”字元可以用“""”方式轉義。  
?你也可以繼續使用在引號前加一個逸出字元“\”來轉義的方式。  
?一個字串用雙引號“"”來引用的,該字串中的單引號“'”不需要特殊對待而且不必被重複或轉義。同理,一個字串用單引號“'”來引用的,該字串中的雙引號“"”不需要特殊對待而且不必被重複或轉義。  
下面顯示的 SELECT 示範引號和轉義是如何工作: 
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
 
mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
+-------+---------+-----------+--------+--------+
| hello | 'hello' | ''hello'' | hel"lo | "hello |
+-------+---------+-----------+--------+--------+
 
mysql> SELECT "This\nIs\nFour\nlines";
+--------------------+
| This
Is
Four
lines |
+--------------------+
如果你想要把位元據插入到一個字元類型的欄位中(例如BLOB),下列字元必須由逸出序列表示: 
NUL ASCII 0,你應該用 “\0”(一個反斜線和一個ASCII “0”字元)表示它。 
\ ASCII 92,反斜線。需要用 “\\” 表示。 
' ASCII 39,單引號。需要用 “\'” 表示。 
" ASCII 34,雙引號。需要用 “\"” 表示。 
如果你寫 C 代碼,你可以使用 C API 函數mysql_real_escape_string() 來為 INSERT 語句逸出字元。在 Perl 中,你可以使用 DBI 包中的 quote 方法來將這些特殊字元轉換成適當的逸出序列。 
你應該在任何可能包含上述特殊字元的字串中使用轉義函數! 
另外,很多 MySQL API 提供了一些預留位置處理能力,這允許你在查詢語句中插入特殊標記,然後在執行查詢時對它們綁定資料值。這樣,API 會自動為你從數值中轉換它們。

    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.