在有条件的地方添加条件

时间:2016-11-11 02:02:06

标签: mysql if-statement conditional where

我似乎无法为此找到合适的解决方案。这是我想要的场景 如果参数为0,则添加条件。类似于

SELECT * FROM TABLE WHERE  name = @name AND 
//this is the part I dont know but I want something like
IF(@id = 0)
{
//do nothing
}else{
id = @id
}

1 个答案:

答案 0 :(得分:3)

在MySQL中,IF是一个函数(它类似于C和PHP中的三元运算符)。如果您不需要做任何事情,可以从中返回TRUE

SELECT *
FROM Table
WHERE name = @name
AND IF(@id = 0, TRUE, id = @id)

另一种方法是使用OR

WHERE name = @name AND (@id = 0 OR id = @id)