MySQL自定义函数计算年龄

来源:互联网 发布:win32 sdk编程 编辑:程序博客网 时间:2024/06/09 01:40
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 ;
0 0
原创粉丝点击