2016-11-11 117 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)