我似乎无法为此找到合适的解决方案。这是我想要的场景 如果参数为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
}
答案 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)