Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql不包含模糊查询

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种方法

SELECT * from t_user_accord_invest t where t.invest_period like '%1%';
SELECT * from t_user_accord_invest t where find_in_set(1,t.invest_period);
SELECT * from t_user_accord_invest t where locate(1,t.invest_period) and t.is_use=1;
SELECT * from t_user_accord_invest t where INSTR(t.invest_period,1) and t.is_use=1;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文