阅读背景:

函数中带有DATE_ADD和INTERVAL的语法错误

来源:互联网 

Given this function:

鉴于这种功能:

DROP FUNCTION IF EXISTS expiration_date;
DELIMITER $$
CREATE FUNCTION expiration_date(lic_class VARCHAR(2), born_on DATE, at DATE) RETURNS DATE
BEGIN
    DECLARE age INTEGER;
    DECLARE span INTEGER DEFAULT 0;
    SET age = YEAR(at) - YEAR(born_on);
    IF     age < 50                 THEN SET span = 10;
    ELSEIF age >= 50 AND age < 70   THEN SET span = 5;
    ELSEIF age >= 70 AND age < 80   THEN SET span = 3;
    ELSEIF age >= 80                THEN SET span = 2;
    END IF;

    DECLARE ret DATE;
    SET ret = DATE_ADD(at, INTERVAL span YEAR); 
    RETURN ret;
END $$
DELIMITER ;
DROP FUNCTION 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: