MySQL If 語句具有多個條件?


您可以在儲存過程中使用帶有 AND 或 OR 運算子的 if 語句,以實現多個條件。語法如下 -

DECLARE X int;
DECLARE Y int;
SET X = value1;
SET Y = value2;
IF ( (X < Y AND X > value1 AND Y >value2) OR X! = anyValueToCompare) THEN
   yourStatement;
ELSE
   yourStatement;
END IF

現在為了理解上方的語法,我們建立一個儲存過程。建立儲存過程的查詢如下 -

mysql> create procedure SP_IFELSEDEMO()
   -> BEGIN
   -> DECLARE X int;
   -> DECLARE Y int;
   -> SET X=100;
   -> SET Y=400;
   -> IF ( (X < Y AND X > 99 AND Y >300) OR X! = 10 ) THEN
   ->    SELECT 'Logic is Correct';
   -> ELSE
   ->    SELECT 'Logic is not Correct';
   -> END IF;
   -> END;
   -> //
Query OK, 0 rows affected (0.27 sec)
mysql> DELIMITER ;

現在藉助 CALL 命令呼叫儲存過程。查詢如下 -

mysql> call SP_IF ELSEDEMO();

輸出

+------------------+
| Logic is Correct |
+------------------+
| Logic is Correct |
+------------------+
1 row in set (0.04 sec)
Query OK, 0 rows affected (0.07 sec)

更新時間:2019-07-30

7K+ 次瀏覽

開啟你的 職業生涯

透過完成本課程獲得認證

開始學習
廣告