>记录生活, 工作的点点滴滴...

MySQL自定义函数 - 当月天数

因为需要对当月数据做线性预测, 因为需要用到当月的天数, 直接放在语句中显得过于复杂, 因此抽取出来写成了函数.

代码如下:

DELIMITER //
CREATE FUNCTION DaysOfMonth(dt datetime)
RETURNS SMALLINT
BEGIN -- 生成当月1号的日期 SET @first_day_of_month = CONCAT(DATE_FORMAT(dt,'%Y-%m'),'-01'); -- 生成次月1号的日期 SET @first_day_of_next_month = DATE_ADD(@first_day_of_month,INTERVAL 1 MONTH);
-- 两日期之差即是当月日期数
RETURN DATEDIFF(@first_day_of_next_month, @first_day_of_month);
END//

测试:

select DaysOfMonth('2019-02-25');

发表于:2019-02-25 11:09:46浏览(310) 评论(0) MySQL