2016-11-11 120 views
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 
} 
+1

您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 /)来了解如何提高问题质量并获得更好的答案。 –

回答

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)