[mysql条件,如果条件

问题描述 投票:0回答:1

我有一个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
mysql if-statement operators procedure
1个回答
1
投票

必须使用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 ;
© www.soinside.com 2019 - 2024. All rights reserved.