統計當前日期距離月底有多少工作日的函數_MySQL
來源:懂視網
責編:小采
時間:2020-11-09 18:04:59
統計當前日期距離月底有多少工作日的函數_MySQL
統計當前日期距離月底有多少工作日的函數_MySQL:bitsCN.com 統計當前日期距離月底有多少工作日的函數 今天遇到運營那邊有個需求,需要找出注冊用戶排除周六周日的每日打卡情況(包含不是周六周日的當天),當時的第一反應是想找一個能實現排除周六周日能計算到月底還有多少工作日的函數,找了半天沒找到,還
導讀統計當前日期距離月底有多少工作日的函數_MySQL:bitsCN.com 統計當前日期距離月底有多少工作日的函數 今天遇到運營那邊有個需求,需要找出注冊用戶排除周六周日的每日打卡情況(包含不是周六周日的當天),當時的第一反應是想找一個能實現排除周六周日能計算到月底還有多少工作日的函數,找了半天沒找到,還

bitsCN.com
統計當前日期距離月底有多少工作日的函數 今天遇到運營那邊有個需求,需要找出注冊用戶排除周六周日的每日打卡情況(包含不是周六周日的當天),當時的第一反應是想找一個能實現排除周六周日能計算到月底還有多少工作日的函數,找了半天沒找到,還是自己寫一個吧。我崇拜的王大哥也寫了一個,貼出來和大家分享。代碼如下: 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('2012-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 ; bitsCN.com
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
統計當前日期距離月底有多少工作日的函數_MySQL
統計當前日期距離月底有多少工作日的函數_MySQL:bitsCN.com 統計當前日期距離月底有多少工作日的函數 今天遇到運營那邊有個需求,需要找出注冊用戶排除周六周日的每日打卡情況(包含不是周六周日的當天),當時的第一反應是想找一個能實現排除周六周日能計算到月底還有多少工作日的函數,找了半天沒找到,還