MySQL 存储过程中可以使用“IF NOT IN”吗?
首先看一下 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 "没找到该值";
-> else
-> select "找到该值";
-> end if;
-> END
-> //
Query OK, 0 rows affected (0.25 sec)
mysql> DELIMITER ;
现在使用 CALL 命令调用存储过程。
第一种情况 - 当找到值时 –
mysql> call IF_NOT_INDemo(10);
阅读更多:MySQL 教程
输出
+-------------+
| 找到该值 |
+-------------+
| 找到该值 |
+-------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
第二种情况 - 当没有找到值时 –
mysql> call IF_NOT_INDemo(100);
输出
+-----------------+
| 没找到该值 |
+-----------------+
| 没找到该值 |
+-----------------+
1 row in set (0.05 sec)
Query OK, 0 rows affected (0.07 sec)
极客教程