您的位置:首页 > 数据库 > MySQL

MySQL自定义函数计算年龄

2014-11-24 18:07 791 查看
DROP FUNCTION countage;

DELIMITER //

CREATE FUNCTION countage(birthday VARCHAR(15))
//参数birthday 为日期格式

RETURNS INT(10)

LANGUAGE SQL DETERMINISTIC NO SQL SQL SECURITY DEFINER

BEGIN

DECLARE age INT(10);

IF birthday IS NULL THEN

RETURN '';

END IF;

SET age = YEAR(CURDATE()) - YEAR(birthday) - 1;

IF MONTH(CURDATE()) = MONTH(birthday) THEN

IF DAY(CURDATE()) > DAY(birthday) THEN

SET age = age + 1;

END IF;

ELSEIF MONTH(CURDATE()) > MONTH(birthday) THEN

SET age = age +1;

END IF;

RETURN age;

END//

DELIMITER ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: