我试图执行以下查询。它是运行报表所需查询的起点:

SET @fname = 'Bob';
SET @blah = 0;

SELECT CASE WHEN @fname IS NULL THEN @blah = 1 ELSE @blah END;


    IF (@blah > 0) THEN
       SELECT * FROM mytable
    END IF;

我的语法显然有问题,但我想不通。我用IF语句编写了其他查询,没有问题。这不会在SQLyog或Workbench中运行。它说有没有parens的“IF”存在sytax错误,这无关紧要。
我只需要在IF语句中计算变量/输入参数的能力。
如有任何帮助,我们将不胜感激。注意-如果我可以得到if来正确地计算参数,那么SELECT CASE可能不是必需的,但是我正在尝试任何可能的解决方案。
谢谢

最佳答案

只能在BEGIN…END子句中使用IF-THEN构造,该子句只能在过程、函数、触发器和事件中使用。在一个简单的脚本中使用它是不可能的。
为了你的案子我建议你用这个-

SELECT * FROM mytable WHERE @blah > 0;

关于mysql - 查询问题中的MySQL IF语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10438501/

10-11 22:34
查看更多