我们可以在 MySQL 过程中使用"IF NOT IN"吗?

mysqlmysqli database

我们先看看 MySQL 中 IF NOT IN 的语法 −

if(yourVariableName  NOT IN (yourValue1,yourValue2,........N) ) then
   statement1
else
   statement2
endif    

让我们实现上述语法以使用 IF NOT IN −

mysql> DELIMITER //
mysql> CREATE PROCEDURE IF_NOT_INDemo(IN value int)
   ->    BEGIN
   ->       if(value NOT IN  (10,20,30) ) then
   ->          select "Value Not Found";
   ->       else
   ->          select "Value Found";
   ->       end if;
   ->    END
   -> //
Query OK, 0 rows affected (0.25 sec)
mysql> DELIMITER ;

现在使用 CALL 命令调用存储过程。

案例 1 − 当找到一个值时 −

mysql> call IF_NOT_INDemo(10);

输出

+-------------+
| Value Found |
+-------------+
| Value Found |
+-------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

案例 2 - 当找不到值时 -

mysql> call IF_NOT_INDemo(100);

输出

 +-----------------+
 | Value Not Found |
 +-----------------+
 | Value Not Found |
 +-----------------+
1 row in set (0.05 sec)

Query OK, 0 rows affected (0.07 sec)


相关文章