有没有办法获得一个月的第一个和最后一个工作日?

有没有办法获得一个月的第一个和最后一个工作日?,第1张

有没有办法获得一个月的第一个和最后一个工作日

如何定义功能

FIRST_WDOM()
星期/一个月的工作日)并
LAST_WDOM()
采用样式
LAST_DAY()

DELIMITER //CREATE FUNCTION first_wdom (d DATETIME) -- First work/week day of monthRETURNS DATE DETERMINISTICBEGIN  DECLARE first_dom DATE;  SET first_dom = DATE_FORMAT(d, '%Y-%m-01');  RETURN first_dom + INTERVAL (CASE DAYOFWEEK(first_dom)         WHEN 1 THEN 1         WHEN 7 THEN 2         ELSE 0         END) DAY;END //CREATE FUNCTION last_wdom (d DATETIME) -- Last work/week day of monthRETURNS DATE DETERMINISTICBEGIN  DECLARE last_dom DATE;  SET last_dom = LAST_DAY(d);  RETURN last_dom - INTERVAL (CASE DAYOFWEEK(last_dom)        WHEN 1 THEN 2        WHEN 7 THEN 1        ELSE 0        END) DAY;END //DELIMITER ;mysql> SELECT FIRST_WDOM('2011-05-10'), LAST_WDOM('2011-05-10');+--------------------------+-------------------------+| FIRST_WDOM('2011-05-10') | LAST_WDOM('2011-05-10') |+--------------------------+-------------------------+| 2011-05-02    | 2011-05-31   | +--------------------------+-------------------------+1 row in set (0.01 sec)

这只是ic3b3rg答案的改编,并假定星期六和星期日为您的周末。我使用DATETIME而不是DATE作为输入类型,以避免传入时出现截断警告

NOW()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存