DELIMITER $$
CREATE
FUNCTION `MONTH_LAST_DAY`(yearNum INT,monthNum INT)
RETURNS INT
BEGIN
DECLARE Rvalue VARCHAR(50);
DECLARE datestr VARCHAR(20);
SET datestr = DATE_FORMAT(LAST_DAY(CONCAT(yearNum,'-',monthNum,'-',1)),'%Y-%c-%e');
SET datestr = SUBSTRING(datestr,6);
SET Rvalue = SUBSTRING(datestr,LOCATE('-',datestr)+1);
RETURN Rvalue;
END$$
DELIMITER ;
用法:
select MONTH_LAST_DAY(2014,2)
返回结果为28