MySQL存储过程中sql语句条件的in无效问题及解决
作者:kaicen
这篇文章主要介绍了MySQL存储过程中sql语句条件的in无效问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
MySQL存储过程中sql语句条件的in无效
存储过程中,sql语句条件的 in 无效,必须用mysql的函数或者自己写一个函数处理组装条件。
正常写法
select * from table t where t.a in (1,2,3,4);
当在写存储过程in里面的列表用个传入参数代入的时候,就需要用到如下方式:
主要用到find_in_set函数
select * from table t where find_in_set(t.a,'1,2,3,4');
SQL中IN和NOT IN的用法注意事项
(1)在使用IN 和 NOT IN 时要注意 IN范围中有NULL和空值的情况
(2)尽量不要用IN和NOT IN的方式而是转换为LEFT JOIN的形式
(3)在where语句中考虑NULL的同时要考虑空字符串的情况
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。