詳解MySQL like如何查詢包含'%'的字段(ESCAPE用法)
在SQl like語句中,比如
SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username LIKE '_luchi_',
- % 作為通配符通配多個
- _ 作為通配符通配一個
但當(dāng)like 所要查詢的字段中含有 % ,我們?nèi)绾稳ゲ椋?/p>
這個時候就需要指明 字段中的那個'%‘ 不作為通配符;
這里就需要用到 ESCAPE 轉(zhuǎn)義
測試:
這里我們使用這張表
轉(zhuǎn)義前:
SELECT * FROM user WHERE username LIKE '%%%';
這里會發(fā)現(xiàn)三個%號都被當(dāng)做通配符了;
轉(zhuǎn)義后:
SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1';
查詢成功
注:
- ESCAPE 后面跟著一個字符,里面寫著什么,什么就是轉(zhuǎn)義符;
- 然后就像 C語言中轉(zhuǎn)義字符一樣 例如 ‘\n','\t', 把這個字符寫在你需要轉(zhuǎn)義的那個%號前就可以了;
技巧與建議:
MySQL的通配符很有用。但這種功能是有代價的:通配符搜索的處理一般要比前面討論的其他搜索所花時間更長。這里給出一些使用通配符要記住的技巧。
- 不要過度使用通配符。如果其他操作符能達(dá)到相同的目的,應(yīng)該 使用其他操作符。
- 在確實需要使用通配符時,除非絕對有必要,否則不要把它們用 在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起 來是最慢的。
- 仔細(xì)注意通配符的位置。如果放錯地方,可能不會返回想要的數(shù).
到此這篇關(guān)于詳解MySQL like如何查詢包含'%'的字段(ESCAPE用法)的文章就介紹到這了,更多相關(guān)MySQL like查詢%內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從云數(shù)據(jù)遷移服務(wù)看MySQL大表抽取模式的原理解析
這篇文章主要介紹了從云數(shù)據(jù)遷移服務(wù)看MySQL大表抽取模式的原理解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02mysql實現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小
這篇文章主要介紹了mysql實現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06解決MySQL報錯1267 - Illegal mix of coll
這篇文章主要給大家介紹了解決MySQL報錯1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPL的問題,文中有詳細(xì)的解決方案,需要的朋友可以參考下2023-09-09Mysql數(shù)據(jù)庫的日志管理、備份與回復(fù)詳細(xì)圖文教程
備份的主要目的是災(zāi)難恢復(fù),備份還可以測試應(yīng)用、回滾數(shù)據(jù)修改、查詢歷史數(shù)據(jù)、審計等,這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫的日志管理、備份與回復(fù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08