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的数据