MySQL中ESCAPE關(guān)鍵字的用法詳解
轉(zhuǎn)義即表示轉(zhuǎn)義字符原來的語義,一個(gè)轉(zhuǎn)義字符的目的是開始一個(gè)字符序列,使得轉(zhuǎn)義字符開頭的該字符序列具有不同于該字符序列單獨(dú)出現(xiàn)時(shí)的語義。
MySQL中,轉(zhuǎn)義字符以“”開頭,編程中常見的轉(zhuǎn)義字符,在MySQL均是有效的,在此不做贅述和討論。在此,主要通過“%” 和 “_”來對ESCAPE關(guān)鍵字的作用進(jìn)行說明。
%:匹配任意多個(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'
需要注意的查詢條件中所有通過ESCAPE指代的字符均會替代“”的作用。
### 假設(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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Oracle 數(shù)據(jù)庫集中復(fù)制方法逐步精細(xì)2. 用腳本和查詢主動監(jiān)視Oracle 9i性能3. Oracle和MySQL的一些簡單命令對比4. Oracle數(shù)據(jù)庫物理文件大小的限制簡介5. MySQL 8.0新特性 — 管理端口的使用簡介6. MySQL的binlog日志使用詳解7. mysql-joins具體用法說明8. MySQL獲取當(dāng)前時(shí)間的多種方式總結(jié)9. MySQL慢查詢以及解決方案詳解10. SQL Server數(shù)據(jù)庫開發(fā)之觸發(fā)器的實(shí)際應(yīng)用
