japanese少妇高潮潮喷 -精品国产AV一区二区三区-麻豆av一区二区三区久久-国产精品无码专区

Mysql字符串字段判斷是否包含某個字符串的方法

發布時間:2025-02-24 點擊:34
方法一:like
select * from 表名 where 字段名 like %字符%;
方法二:find_in_set()
利用mysql 字符串函數 find_in_set();
select * from users where find_in_set('字符', 字段名);
這樣是可以的,怎么理解呢?
mysql有很多字符串函數 find_in_set(str1,str2)函數是返回str2中str1所在的位置索引,str2必須以,分割開。
復制代碼
注:當str2為no1:“3,6,13,24,33,36”,no2:“13,33,36,39”時,判斷兩個數據中str2字段是否包含‘3’,該函數可好解決
mysql > select find_in_set()('3','3,6,13,24,33,36') as test;
-> 1
mysql > select find_in_set()('3','13,33,36,39') as test;
-> 0
復制代碼
方法三:locate(字符,字段名)
使用locate(字符,字段名)函數,如果包含,返回>0的數,否則返回0 ,
它的別名是 position in
select * from 表名 where locate(字符,字段)
select * from 表名 where position(字符 in 字段);
例子:判斷site表中的url是否包含'http://'子串,如果不包含則拼接在url字符串開頭
update site set url =concat('http://',url) where locate('http://',url)=0
注意mysql中字符串的拼接不能使用加號+,用concat函數
方法四:instr(字段,字符)
select * from 表名 where instr(字段,字符)
另外,筆者查看了以上sql的執行計劃(不包含find_in_set),發現都是:
網上說模糊查詢 用 locate 速度快,不知道結論怎么來的,可能是大數據量的情況下吧。

網站做seo優化需要掌握的知識
重慶[轉載]企業網站建設:網絡公司VS個人
兩大網絡營銷技巧做好,流量持續上升!
分享一下我的企業網站seo工作
字體是做網站重點關注的一環
網站建設中網站怎么選擇空間呢?
選擇共享主機時的5大實踐
找這些網絡公司網站建設費用都要老銀子了,啥原因差這么多?