MySQL - IF 语句



MySQL IF 语句

IF 是一个复合的 MySQL 语句,它包含单个或一组语句和一个条件。如果指定条件的值为 TRUE,则执行给定的语句。每个语句可以包含一个或多个 SQL 语句。IF 语句中不允许出现空语句。

语法

以下是 MySQL 中 IF 语句的语法:

IF search_condition THEN statement_list
   [ELSEIF search_condition THEN statement_list] ...
   [ELSE statement_list]
END IF

其中,statement_list 是要执行的单个或一组语句。search_condition 是语句的条件。

示例 1

以下查询演示了如何在过程中使用 IF 语句:

Delimiter //
CREATE procedure loopDemo()
   label:BEGIN
      DECLARE val INT ;
      DECLARE result VARCHAR(255);
      SET val =1;
      SET result = '';
         loop_label: LOOP
         IF val > 10 THEN
            LEAVE loop_label;
         END IF;
         SET result = CONCAT(result,val,',');
         SET val = val + 1;
         ITERATE loop_label;
      END LOOP;
      SELECT result;
   END//

您可以按如下方式调用上述过程:

call loopDemo;//

输出

以下是上述查询的输出:

结果
1,2,3,4,5,6,7,8,9,10,

示例 2

以下查询演示了如何在函数中使用 IF 语句:

DELIMITER //
CREATE FUNCTION Sample (bonus INT)
   RETURNS INT
   BEGIN
      DECLARE income INT;
      SET income = 0;
      myLabel: LOOP
         SET income = income + bonus;
         IF income < 10000 THEN
            ITERATE myLabel;
         END IF;
         LEAVE myLabel;
      END LOOP myLabel;
   RETURN income;
END; //
DELIMITER ;

您可以按如下所示调用上面创建的函数:

SELECT Sample(1000);

输出

上述查询产生以下输出:

示例(1000)
10000
广告
© . All rights reserved.