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
廣告