1. 程式人生 > 資料庫 >MySQL中ESCAPE關鍵字的用法詳解

MySQL中ESCAPE關鍵字的用法詳解

MySQL轉義

轉義即表示轉義字元原來的語義,一個轉義字元的目的是開始一個字元序列,使得轉義字元開頭的該字元序列具有不同於該字元序列單獨出現時的語義。

MySQL中,轉義字元以“\”開頭,程式設計中常見的轉義字元,在MySQL均是有效的,在此不做贅述和討論。在此,主要通過“%” 和 “_”來對ESCAPE關鍵字的作用進行說明。

%:匹配任意多個字元。

_:匹配單一字元。

如果我們要匹配“%”或者“_”時,就必須使用“\”進行轉義,如下:

### 查詢名字中帶明字的使用者
> SELECT * FROM user WHERE name LIKE CONCAT("%","明","%")
 
### 查詢名字帶有%字元的使用者
> SELECT * FROM user WHERE name LIKE CONCAT("%","\%","%")

ESCAPE的用法

ESCAPE 關鍵字的主要作用就是指定一個字元替代“\”的作用。

### 查詢名字帶有“%”字元的使用者
> SELECT * FROM user WHERE name LIKE CONCAT("%","$%","%") ESCAPE "$"
 
### 查詢名字帶有“_”字元的使用者
> SELECT * FROM user WHERE name LIKE CONCAT("%","a_","%") ESCAPE "a"

需要注意的查詢條件中所有通過ESCAPE指代的字元均會替代“\”的作用。

### 假設存在名字為 %a 和 %_ 兩個的使用者
> SELECT * FROM user WHERE name LIKE "a%_" ESCAPE "a"     ### %a %_ 
> SELECT * FROM user WHERE name LIKE "a%a" ESCAPE "a"     ### %a 
> SELECT * FROM user WHERE name LIKE "a%a_" ESCAPE "a"    ### %_

到此這篇關於MySQL中ESCAPE關鍵字的用法詳解的文章就介紹到這了,更多相關MySQL ESCAPE關鍵字內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!