MySql动态添加关联条件、查询条件等

if(expr1,expr2,expr3) 如果expr1返回true 则执行expr2部分语句,否则执行expr3语句

//如果条件a不为空  则使用添加a与b关联
select a.id,b.* from a join b on if(a.id is null,1=1,a.id=b.id);
//这里如果a.id is null,则执行1=1条件 也就是相当于没有查询条件 恒为true;否则执行a.id=b.id操作

这里的if函数与ifnull函数很类似,但是ifnull函数支持两个参数,即如果字段为null,则使用后面参数。如ifnull(a.id,"") as id,这里如果a.id为null,则将空字符赋值为id

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章