mysql - mysql过程if条件
问题描述
我有一个 mysql 程序,它不适用于 AND 的 IF 条件。我不确定什么是正确的语法。
CREATE PROCEDURE insere_orcamento(
IN ida VARCHAR(10),
IN volta VARCHAR(10),
OUT result INT
)
BEGIN
IF (ida='sim' AND volta=NULL) THEN
SET result = 50;
ELSEIF (ida=NULL AND volta='sim') THEN
SET result = 51;
END IF;
END
解决方案
必须使用 IS 检查值 NULL
或者像akina说的你也可以使用 <=>
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insere_orcamento`(
IN ida VARCHAR(10),
IN volta VARCHAR(10),
OUT result INT
)
BEGIN
IF (ida='sim' AND volta IS NULL) THEN
SET result := 50;
ELSEIF (ida IS NULL AND volta = 'sim') THEN
SET result := 51;
END IF;
END$$
DELIMITER ;
推荐阅读
- kotlin - ThreadLocal/CoroutineContext 桥接差距
- python - 深度 LS 递归生成器的 Python 函数错误
- powershell - 转换文件名的日期格式
- php - woocommerce 品牌和类别产品的简码
- intellij-idea - 如何在 IDEA 中运行名称中包含 Unicode 字符的单元测试方法?
- mongodb - MongoDB聚合中的转换字段
- c++ - 小于重载 C++
- dataweave - 如何使用 dataweave 将新列附加到 csv 有效负载
- git - 将旧版本的 GitHub 拉取请求视为远程分支
- pandas - Pandas 数据框图在图例上有“无,无”。如何摆脱它们?