200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 统计当前日期距离月底有多少工作日的函数【MySQL】

统计当前日期距离月底有多少工作日的函数【MySQL】

时间:2019-12-07 13:05:40

相关推荐

统计当前日期距离月底有多少工作日的函数【MySQL】

数据库|mysql教程

,多少,工作日,用户

数据库-mysql教程

统计当前日期距离月底有多少工作日的函数 今天遇到运营那边有个需求,需要找出注册用户排除周六周日的每日打卡情况(包含不是周六周日的当天),当时的第一反应是想找一个能实现排除周六周日能计算到月底还有多少工作日的函数,找了半天没找到,还是自己写一个吧。我崇拜的王大哥也写了一个,贴出来和大家分享。代码如下: DROP FUNCTION IF EXISTS count_day_left ; DELIMITER //CREATE FUNCTION count_day_left( f_date DATETIME ) RETURNS INT DETERMINISTIC BEGIN /* Purpose: 统计指定日期距离月底还有多少个工作日,节假日未排除,用于打卡统计的过滤函数Useage: select count_day_left(‘-09-10’);*/ DECLARE start_day INT; DECLARE end_day INT; DECLARE count_day INT DEFAULT 0; DECLARE tmp_date DATE DEFAULT DATE(f_date); SET end_day=DAY(LAST_DAY(f_date)); SET start_day=DAY(f_date); WHILE start_day<=end_day DO IF ( (DAYOFWEEK(tmp_date) = 1) OR (DAYOFWEEK(tmp_date) = 7)) THEN SET tmp_date=DATE_ADD(tmp_date,INTERVAL 1 DAY); SET start_day=start_day+1; ELSE SET tmp_date=DATE_ADD(tmp_date,INTERVAL 1 DAY); SET start_day=start_day+1; SET count_day=count_day+1; END IF; END WHILE; RETURN count_day; END //DELIMITER ; DROP FUNCTION IF EXISTS count_day_left;DELIMITER //CREATE FUNCTION count_day_left(f_date DATE)RETURNS INTREADS SQL DATABEGINRETURN DATEDIFF(LAST_DAY(f_date),f_date)-(WEEK(LAST_DAY(f_date))-WEEK(f_date))*2+IF(WEEKDAY(f_date)=6,0,1)-IF(WEEKDAY(LAST_DAY(f_date))=5,1,0);END //DELIMITER ;

android ui模板源码下载,ubuntu关闭电源,在tomcat启动项目,puthon爬虫工具,php清除数组元素,黄石工厂seo推广都有哪些渠道lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。