MySQL查詢LIKE如何匹配下劃線 萬用字元轉義

2021-09-26 07:35:26 字數 495 閱讀 6784

mysql查詢時使用like匹配下劃線,您會發現連查詢「%a_b%」時會出現「%a b%」和「%ab%」也查詢出來了,這是因為下劃線也被當作特殊字元,做了任意匹配轉換了,所以,要想匹配下劃線,那麼就需要「轉義」一下。轉義的方法有如下(示例想查詢a_b匹配字段)。

示例:select * from mytable where col like '%a#_b%' escape '#';

或,select * from mytable where col like '%a\_b%';

其中#符號隨意寫,只是告訴解析器把這個字元當特殊字元解析。「\」則預設按照轉義字元解析。

示例:select * from mytable where col like '%a[_]b%';

其它方法,還有使用instr函式查詢等方式,不過,那樣把簡單問題搞複雜了,不推薦。

以上查詢方法限定的是已知的like字串,而對於使用者輸入的關鍵字,則需要解析,並對可能出現的underline字元特殊替換處理即可。

like 模糊匹配查詢

select from titles where title like computer title含有computer字樣的就滿足 like title書名含s字樣 select from titles where title like s title含有s字樣的就滿足 select au lna...

MySql 替換like 查詢

b mysql比like語句更高效的寫法 locate position instr find in set b 標籤 locate instr find in set 分類 mysql 你是否一直在尋找比mysql的like語句更高效的方法的,下面我就為你介紹幾種。like語句 select co...

sybase中用like查詢匹配的日期

原理是先將日期轉換為datetime格式 jun 10 2009 11 37am 不能採用insert型別為datetime時的多種輸入格式,再轉為varchar.1.查詢出為註冊時間中匹配 年月 為2009年8月的所有資料 select from manager where register ti...