代码之家  ›  专栏  ›  技术社区  ›  MTK

mysql查询中的if-elseif条件

  •  1
  • MTK  · 技术社区  · 3 年前

    我试过:

    SET @condition = 0;
    
    IF (@condition = 0) THEN
       SELECT 'IF result' AS res;
    ELSEIF (@condition = 1) THEN
       SELECT 'ELSEIF result' AS res;   
    ELSE
       SELECT 'ELSE result' AS res;
    END IF;
    

    但我有个错误:

    错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获得使用ELSEIF(@condition=1)附近的正确语法,然后 在第1行选择“ELSEIF result AS res”

    2 回复  |  直到 3 年前
        1
  •  1
  •   MTK    3 年前

    您可以尝试以下方法:

     SELECT  CASE 
                WHEN @condition=1 THEN 'if result'
                WHEN @condition=0 THEN 'elseif result'
                ELSE 'else result'
                END AS res;
    
        2
  •  1
  •   Mohamed Sakeel    3 年前

    尝试使用 CASE ELSE END 可能SQL与IF语句是引号中的字符串相混淆

    CASE
        WHEN search_condition THEN statement_list
        [WHEN search_condition THEN statement_list] ...
        [ELSE statement_list]
    END CASE