MySQL中ESCAPE關(guān)鍵字的用法詳解
轉(zhuǎn)義即表示轉(zhuǎn)義字符原來(lái)的語(yǔ)義,一個(gè)轉(zhuǎn)義字符的目的是開(kāi)始一個(gè)字符序列,使得轉(zhuǎn)義字符開(kāi)頭的該字符序列具有不同于該字符序列單獨(dú)出現(xiàn)時(shí)的語(yǔ)義。
MySQL中,轉(zhuǎn)義字符以“”開(kāi)頭,編程中常見(jiàn)的轉(zhuǎn)義字符,在MySQL均是有效的,在此不做贅述和討論。在此,主要通過(guò)“%” 和 “_”來(lái)對(duì)ESCAPE關(guān)鍵字的作用進(jìn)行說(shuō)明。
%:匹配任意多個(gè)字符。
_:匹配單一字符。
如果我們要匹配“%”或者“_”時(shí),就必須使用“”進(jìn)行轉(zhuǎn)義,如下:
### 查詢名字中帶明字的用戶> SELECT * FROM user WHERE name LIKE CONCAT('%', '明', '%') ### 查詢名字帶有%字符的用戶> SELECT * FROM user WHERE name LIKE CONCAT('%', '%', '%')ESCAPE的用法
ESCAPE 關(guān)鍵字的主要作用就是指定一個(gè)字符替代“”的作用。
### 查詢名字帶有“%”字符的用戶> SELECT * FROM user WHERE name LIKE CONCAT('%', '$%', '%') ESCAPE '$' ### 查詢名字帶有“_”字符的用戶> SELECT * FROM user WHERE name LIKE CONCAT('%', 'a_', '%') ESCAPE 'a'
需要注意的查詢條件中所有通過(guò)ESCAPE指代的字符均會(huì)替代“”的作用。
### 假設(shè)存在名字為 %a 和 %_ 兩個(gè)的用戶> 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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. DB2的高可用性和災(zāi)難恢復(fù)概述2. Microsoft Office Access添加外鍵的方法3. MySQL深分頁(yè)問(wèn)題原理與三種解決方案4. 淺談Mybatis+mysql 存儲(chǔ)Date類型的坑5. golang中連接mysql數(shù)據(jù)庫(kù)6. MySQL單表千萬(wàn)級(jí)數(shù)據(jù)處理的思路分享7. 關(guān)于DB2數(shù)據(jù)庫(kù)的系統(tǒng)信息集成(1)8. SQL實(shí)現(xiàn)模糊查詢的四種方法總結(jié)9. sqlserver給表添加新字段、給表和字段添加備注、更新備注及查詢備注(sql語(yǔ)句)10. 記一次mariadb數(shù)據(jù)庫(kù)無(wú)法連接
