最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中替代Like模糊查詢的函數(shù)方式

 更新時間:2023年08月31日 09:27:06   作者:Once0311  
這篇文章主要介紹了MySQL中替代Like模糊查詢的函數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

mysql替代Like模糊查詢的函數(shù)

通常我們模糊查詢都是用like關鍵字

比如:

查詢name中包含 '王' 字 的 

SELECT name FROM employees where name LIKE '%王%' 

查詢以 '王' 字開頭的name

SELECT name FROM employees where name LIKE '王%' 

查詢以 '王' 字結尾的name

SELECT name FROM employees where name LIKE '%王' 

替代like的三種方式

1、使用LOCATE(substr,str)函數(shù)

SELECT name FROM employees where LOCATE('王',name)>0  // 相當于Like '%王%'(>0可省略)
SELECT name FROM employees where LOCATE('王',name)=1  // 相當于Like '王%'
SELECT name FROM employees where LOCATE('王',name)=0  // 相當于 NOT Like '%王%'

 2、使用POSITION(substr IN str)函數(shù)

SELECT name FROM employees where POSITION('王'IN name)>0 //相當于LIKE '%王%'
SELECT name FROM employees where POSITION('王'IN name)=1 //相當于LIKE '王%'
SELECT name FROM employees where POSITION('王'IN name)=0 //相當于 NOT LIKE '%王%'

3、使用INSTR(str,substr)函數(shù) 跟LOCATE(substr,str)類似 只是參數(shù)位置換了

SELECT name FROM employees where INSTR(name,'王')>0 //相當于 like '%王%' (>0可省略)
SELECT name FROM employees where INSTR(name,'王')=1 //相當于 like '王%' 
SELECT name FROM employees where INSTR(name,'王')=0 //相當于 not like '%王%' 

4、使用FIND_IN_SET(str,strlist)     注意:該字段存的必須是多個值

 比如name字段中存的是(張三,李四,王五)這種數(shù)據(jù)

SELECT name FROM employees where FIND_IN_SET('王五',name)

MySQL代替like模糊查詢更高效的方法

MySQL-locate()函數(shù)

LOCATE(substr,str,pos)

返回substr字符串在str里pos(起始位置)出現(xiàn)的位置,沒有返回0

注:pos必須大于第一次出現(xiàn)的位置,才能顯示第二次出現(xiàn)的位置

直接用like查詢效率較低:

SELECT id,vari_sku,prod_s_id,prod_s_sku from prod_sync_s_shopee where vari_sku LIKE '%+%';

用locate()函數(shù)的替代寫法:

SELECT id,vari_sku,prod_s_id,prod_s_sku from prod_sync_s_shopee where locate('+',prod_sync_s_shopee.vari_sku) <> 0;

其他函數(shù):

  • POSITION()
  • INSTR()
  • FIND_IN_SET()

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

缙云县| 枣庄市| 新余市| 伽师县| 舒城县| 北京市| 罗平县| 贺州市| 大庆市| 临夏市| 通海县| 龙胜| 瓮安县| 邛崃市| 镇沅| 公主岭市| 米泉市| 山东| 鸡泽县| 扶余县| 安吉县| 夏邑县| 德江县| 城口县| 衡东县| 大丰市| 石狮市| 三明市| 襄汾县| 聂拉木县| 金华市| 辽源市| 兴和县| 新平| 贡嘎县| 武冈市| 维西| 宁陵县| 依兰县| 小金县| 阿克|