MySQL中ESCAPE關(guān)鍵字的用法詳解
MySQL轉(zhuǎn)義
轉(zhuǎn)義即表示轉(zhuǎn)義字符原來的語義,一個轉(zhuǎn)義字符的目的是開始一個字符序列,使得轉(zhuǎn)義字符開頭的該字符序列具有不同于該字符序列單獨出現(xiàn)時的語義。
MySQL中,轉(zhuǎn)義字符以“\”開頭,編程中常見的轉(zhuǎn)義字符,在MySQL均是有效的,在此不做贅述和討論。在此,主要通過“%” 和 “_”來對ESCAPE關(guān)鍵字的作用進(jìn)行說明。
%:匹配任意多個字符。
_:匹配單一字符。
如果我們要匹配“%”或者“_”時,就必須使用“\”進(jìn)行轉(zhuǎn)義,如下:
### 查詢名字中帶明字的用戶
> SELECT * FROM user WHERE name LIKE CONCAT("%", "明", "%")
### 查詢名字帶有%字符的用戶
> SELECT * FROM user WHERE name LIKE CONCAT("%", "\%", "%")
ESCAPE的用法
ESCAPE 關(guān)鍵字的主要作用就是指定一個字符替代“\”的作用。
### 查詢名字帶有“%”字符的用戶
> SELECT * FROM user WHERE name LIKE CONCAT("%", "$%", "%") ESCAPE "$"
### 查詢名字帶有“_”字符的用戶
> SELECT * FROM user WHERE name LIKE CONCAT("%", "a_", "%") ESCAPE "a"
需要注意的查詢條件中所有通過ESCAPE指代的字符均會替代“\”的作用。
### 假設(shè)存在名字為 %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" ### %_
到此這篇關(guān)于MySQL中ESCAPE關(guān)鍵字的用法詳解的文章就介紹到這了,更多相關(guān)MySQL ESCAPE關(guān)鍵字內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信