我正在尝试使用 MySQL 过程检查 class
,但以下过程总是返回 0:
DELIMITER //
CREATE PROCEDURE `validate_class`(IN `class` INT)
BEGIN
if(class NOT IN ('A','B','E') ) then
select 1;
else
select 0;
end if;
END //
DELIMITER ;
调用测试:
call validate_class('G'); //return 0
call validate_class('A'); //return 0
当类不是(A
和B
和E
)时它应该返回1
,任何帮助?
最佳答案
您有隐式转换 CHAR
-> INT
-> CHAR
。
更改参数数据类型:
CREATE PROCEDURE `validate_class`(IN `class` CHAR(1))
BEGIN
if(class NOT IN ('A','B','E') ) then
select 1;
else
select 0;
end if;
END
关于MySQL:在程序中使用 "IF NOT IN",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35674509/