如何在 MySQL 中的存储过程和 select 中使用 IF?
mysqlmysqli database更新于 2025/1/31 22:04:17
您可以在存储过程中使用 IF,也可以在 select 语句中使用 IF()。
select 语句中的 IF()
IF() in select statement mysql> select if(0=0,'Hello MySQL','condition is wrong');
这将产生以下输出 −
+------------------------------------------------------+
| if('test'='test','Hello MySQL','condition is wrong') |
+------------------------------------------------------+
| Hello MySQL |
+------------------------------------------------------+
1 row in set (0.00 sec)
第二种情况,如果你的条件变得错误 −
mysql> select if(1=0,'Hello MySQL','condition is wrong');
这将产生以下输出 −
+--------------------------------------------+ | if(1=0,'Hello MySQL','condition is wrong') | +--------------------------------------------+ | condition is wrong | +--------------------------------------------+ 1 row in set (0.00 sec)
存储过程中的 If
创建存储过程的查询如下。这里我们使用 IF 来设置条件 −
mysql> DELIMITER // mysql> CREATE PROCEDURE if_demo(value int) BEGIN IF 1=value THEN SELECT "Hello MySQL"; ELSE SELECT "Wrong Condition"; END IF; END // Query OK, 0 rows affected (0.20 sec) mysql> DELIMITER ;
现在您可以使用 call 命令调用存储过程.
mysql> call if_demo(1);
这将产生以下输出 −
+-------------+ | Hello MySQL | +-------------+ | Hello MySQL | +-------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
如果您的条件变为 false −
mysql> call if_demo(0);
这将产生以下输出 −
+-----------------+ | Wrong Condition | +-----------------+ | Wrong Condition | +-----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

