2016-11-09 90 views
1

我已經存儲了一個名爲paramType(INT)參數If..then聲明

我不知道程序是有什麼辦法如何實現在MySQL未來的情況:

BEGIN 
SELECT Code, Price, Type FROM table 
IF paramType IS NOT NULL THEN 
WHERE Type = paramType 
ELSE 
SELECT Code, Price Type FROM table 
END; 

所以如果paramType爲null(空),那麼只需要執行SELECT Code, Price, Type FROM table但如果paramType包含值比類似條件執行查詢:

SELECT Code, Price Type FROM table WHERE Type = paramType 

或者是有其他的解決方案,而如果/日EN /別的嗎?

回答

4

這裏是寫這篇的更優雅的方式:

SELECT Code, Price, Type 
FROM table 
WHERE paramType IS NULL OR Type = paramType 
+0

應該使用AND運算符? –

+0

想想吧.. @YeWin – sagi

+0

因爲OR運算符Type = paramType將始終做 –