mysql不包含模糊查询问题
作者:大得369
这篇文章主要介绍了mysql不包含模糊查询问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mysql不包含模糊查询
#包含like #不包含not like select * from 数据库表 where HouseName like '%江门奥园项目%' and HouseName like '%幢%' and HouseName not like '%商%'; #不包含not in select sum(o.PaidChargeSum) from cdj_order o where o.id not in (select d.order_id from cdj_order_detail d where d.is_canceled !=1);
mysql解决模糊查询包含关系
后台要根据期限筛选查询时如果用like,
SELECT * from t_user_accord_invest t where t.invest_period like '%1%';
就会出现 参数为1时 ,13的也能筛选出来,出现查询bug。
解决方案
利用mysql 字符串函数 find_in_set();
SELECT * from t_user_accord_invest t where find_in_set(1,t.invest_period);
完美避免like出现的问题。
mysql查询包含4种方法
- 方法一:like
SELECT * from t_user_accord_invest t where t.invest_period like '%1%';
- 方法二:find_in_set(字符, 字段名)
SELECT * from t_user_accord_invest t where find_in_set(1,t.invest_period);
- 方法三:locate(字符,字段名)
SELECT * from t_user_accord_invest t where locate(1,t.invest_period) and t.is_use=1;
- 方法四:INSTR(字段名,字符)
SELECT * from t_user_accord_invest t where INSTR(t.invest_period,1) and t.is_use=1;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。