我有一个名为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的其他解决方案吗?
答案 0 :(得分:4)
这是更优雅的写作方式:
SELECT Code, Price, Type
FROM table
WHERE paramType IS NULL OR Type = paramType