MySQL 字符串中含有下划線(_),模糊查詢的時候查詢不出來


一、問題描述

問題現象是這樣的,系統的用戶管理頁面,列表展示出了用戶名為yy_2的用戶,但是根據用戶名進行條件搜索的時候就搜索不出來。

二、問題定位

    查詢sql發現,根據用戶名進行條件搜索的時候,是like模糊搜索。在mysql模糊搜索中,下划線(_)是一個通配符,標識任意一個字符。如果要搜索出真實包含下划線(_)的字符,需要對下划線(_)進行轉義,默認使用反斜杠(\)進行轉義。

例如,如果要查找products表中productCode字段包含字符串_20的產品,則可以使用模式%\_20%查詢:

SELECT      productCode, productName FROM     products WHERE     productCode LIKE '%\_20%';


或者也可以指定一個不同的轉義字符。例如,通過ESCAPE子句使用 $ 作為轉義符:

SELECT      productCode, productName FROM     products WHERE     productCode LIKE '%$_20%' ESCAPE '$';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM