mysql 替换like的几种方法

1.INSTR语句(推荐)
SELECT column from table where instr(condition, ‘keyword’ )>0

instr(查询字段 ,查询文字 ) >0表示查询文字在字段中出现的第一个位置,如果大于0则表示在这里出现了。用这个来替代%like%,防止索引失效.

2.LOCATE语句
SELECT column from table where locate(‘keyword’, condition)>0

3.locate 的別名 position
POSITION语句
SELECT column from table where position(‘keyword’ IN condition)

 

locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);

4.以字段开头模糊查询的left(字段,长度)的方法查询
select * from t where left(t.user_code, 1)='A';

5.findinset
select * from t where FINDINSET('1',t.name);//t.name所查询的字段,所有包含1的数据

posted on 2022-08-03 17:08  云淡风轻博客  阅读(2744)  评论(0编辑  收藏  举报