0
我似乎无法找到适当的解决方案。这是我想 添加一个条件的情况下,如果该参数为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看起来像有条件地添加条件
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
}
在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)
您probaby想'CASE',但很难用这么少的信息,请阅读[猜测**如何对询问** ](http://stackoverflow.com/help/how-to-ask) \t \t这里是[** START **]的好地方(http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum /)来了解如何提高问题质量并获得更好的答案。 –