如果...在mysql

时间:2016-11-09 08:05:45

标签: mysql if-statement stored-procedures

我有一个名为paramType(INT)的参数存储过程

我想知道如何在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

或者是没有if / then / else的其他解决方案吗?

1 个答案:

答案 0 :(得分:4)

这是更优雅的写作方式:

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