赞
踩
一般如果使用@query时,
我们的sql是这样的:
- select * from t
- where (ifnull(:a,'')='' or t.a=:a)
- and (ifnull(:b,'')='' or t.b=:b)
但如果a参数是一个数组a=[1,2,3],怎么办?ifnull会变成ifnull(1,2,3,'')=''
这时我们可以使用 COALESCE(:a) is null
- select * from t
- where (COALESCE(:a) is null or t.a in (:a))
- and (ifnull(:b,'')='' or t.b=:b)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。