我有一个名为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的解决方案?
最佳答案
下面是更优雅的写法:
SELECT Code, Price, Type
FROM table
WHERE paramType IS NULL OR Type = paramType