我需要使用MySQL计算一个月或当前日期的工作日数。
工作日如此称重:
周一至周五:1
周六:0.5
太阳和假期:0
我有一张桌子,t_holiday,其中包含假期(包括星期日,但不包括星期六),因此:
_______________________________
|holiday_date | holiday_desc |
|-------------|---------------|
|2017-12-31 | Sunday Off |
|2017-12-25 | Christmas Day |
|2017-12-24 | Sunday Off |
------------------------------- (and so on)
这是否可以使用mysql?如果需要的话,我可以将周六添加到t_holiday。
答案 0 :(得分:2)
是的,可能。你想要的是什么 工作天数=月份天数 - 节假日 - 星期六(不是假期)* 0.5
我能想到的最简单的方法是:
1.是假日表 t_holiday
2.将星期六放在假期表中 t_holiday
3.将另一列 holiday_weight ,其中 holiday_weight 放入正常假日或星期日= 1,将 holiday_weight 放入星期六= 0.5。
您的答案就是工作天数=月份天数 - 数量(假期*重量)
在Sql中说二月份将是:
SELECT DAY(LAST_DAY('2015-2-1')) -
SELECT (SUM(holiday_weight)) FROM t_holiday WHERE YEAR(holiday_date) = my_year AND MONTH(holiday_date) = my_month)
如果你想要的是约会,那么:
SELECT DAY(CURDATE()) -
SELECT (SUM(holiday_weight)) FROM t_holiday WHERE YEAR(holiday_date) = YEAR(CURDATE()) AND MONTH(holiday_date) = MONTH(CURDATE()))