Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL存储过程中sql语句条件的in无效

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的同时要考虑空字符串的情况

总结

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

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