[英]MySQL procedure that return true / false
我在MySQL中有一个名为“ luhn_”的过程。
我想在我的其他过程中使用类似函数的功能-在IF条件下。 因此它应该返回一些输出参数(可能是true / false?)
实现这样的最简单的方法是什么?
DELIMITER $$
DROP procedure if exists `luhn_`$$
CREATE procedure `luhn_` (IN input_string VARCHAR(256), IN input_lenght INTEGER)
BEGIN
SET @luhn_string = LEFT(TRIM(input_string), input_lenght);
IF(LENGTH(@luhn_string)=input_lenght)
THEN SELECT count(*) from courrier_envoye; -- true
ELSE
SELECT * from courrier_envoye; -- false
END IF;
END$$
-- call luhn_('123456789',10);
如果条件
...
if(luhn_('123456789',10) = true) THEN ...
ELSE ...
...
创建一个功能会帮你
DELIMITER $$
CREATE FUNCTION `luhn_`(input_string VARCHAR(256), input_lenght INTEGER) RETURNS tinyint(1)
BEGIN
SET @luhn_string = LEFT(TRIM(input_string), input_lenght);
IF(LENGTH(@luhn_string)=input_lenght) THEN
return true;
ELSE
return false;
END IF;
END
在存储过程中的用法
if(select luhn_(input_string,input_lenght)) then
select 'a';
else
select 'b';
end if;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.