2016-11-09 181 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将始终做 –