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;//
输出
以下是上述查询的输出 -
| result |
|---|
| 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);
输出
上述查询产生以下输出 -
| Sample(1000) |
|---|
| 10000 |

