您好,登錄后才能下訂單哦!
這篇文章主要介紹mysql如何查詢包含的字符串,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
方法:1、利用“表名 where 字段 like '%字符串%'”查詢;2、利用“表名 where find_in_set(字符串,字段)”查詢;3、利用“表名 where locate(字符串,字段)”查詢。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
總結下在MySQL里判斷某個字符串是否包含某個字符串的3種方法。
先舉個簡單的場景,比如要查詢user表中愛好中有yanggb的記錄。
方法1:使用通配符%。
通配符也就是模糊匹配,可以分為前導模糊查詢、后導模糊查詢和全導匹配查詢,適用于查詢某個字符串中是否包含另一個模糊查詢的場景。
select * from user where hobby like '%yanggb%';
使用的場景局限于找到hobby中存在yanggb的記錄(hobby為多個以逗號隔開的值),反之不行。
方法2:使用MySQL提供的字符串函數find_in_set()。
MySQL有提供一個字符串函數find_in_set(str1,str2)函數,用于返回str2中str1所在的位置索引,如果找到了,則返回true(1),否則返回false(0),其中str2必須以半角符號的逗號【,】分割開。
select * from user where find_in_set('yanggb', hobby);
匹配的字符串作為第一參數時,適用的場景是找到hobby中存在yanggb的記錄(hobby為多個以逗號隔開的值)。
select * from user where find_in_set(hobby, 'yanggb1,yanggb2,yanggb3');
匹配的字符串作為第二參數時,適用的場景是找到hobby中有yanggb1、yanggb2和yanggb3其中一個的記錄(hobby為單個值)。
方法3:使用MySQL提供的字符串函數locate()函數。
MySQL還提供一個字符串函數locate(substr,str)函數,用于返回str中substr所在的位置索引,如果找到了,則返回一個大于0的數,否則返回0。
select * from user where locate('yanggb', hobby) > 0;
適用的場景和find_in_set()函數差不多,兩個函數的區別大概只有返回值上的不同。
以上是“mysql如何查詢包含的字符串”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。