我有一个名为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

09-11 09:39