If statement 谁能解释一下这是怎么回事吗如果我的sql中还有其他内容

If statement 谁能解释一下这是怎么回事吗如果我的sql中还有其他内容,if-statement,If Statement,有人能解释一下这是怎么回事吗 IF (p_market_id <>0) THEN SET v_cont := CONCAT(v_cont,' and mrkt.location_id = ', p_market_id); ELSEIF (p_region_id <>0) THEN SET v_cont := CONCAT(v_cont,' and reg.location_id = ', p

有人能解释一下这是怎么回事吗

        IF (p_market_id <>0) THEN
            SET v_cont := CONCAT(v_cont,' and mrkt.location_id = ', p_market_id); 
        ELSEIF (p_region_id <>0) THEN
            SET v_cont := CONCAT(v_cont,' and reg.location_id = ', p_region_id); 
        ELSE    
            SET v_cont := CONCAT(v_cont,' and 1=1'); 
        END IF; 
第一行很清楚:即如果市场id为0,则v_cont设置为给定值 但我想知道的是,它是否也会进入后续的ELSEIF,还是会从if中产生?A其他的呢

问候 Gautam

您可以将ELSEIF视为ELSE-IF:它只有在前一个IF失败时才会出现。同样,如果之前的所有测试都失败,它将只执行最终/独立测试