MySQL程序返回true / false

时间:2014-06-05 08:32:33

标签: mysql

我在MySQL中有一个名为'luhn_'的程序。

我想在我的其他程序中使用它 - 在IF条件下。所以它应该返回一些输出参数(可能是真/假?)

实现类似内容的最简单方法是什么?

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 ... 
...

1 个答案:

答案 0 :(得分:1)

创建一个函数会为你做

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;