相关疑难解决方法(0)

MySQL函数查找两个日期之间的工作日数

Excel具有NETWORKDAYS()函数,可以查找两个日期之间的工作日数.

任何人都有类似MySQL的功能?由于假期增加了复杂性,解决方案不必处理假期.

mysql sql

37
推荐指数
7
解决办法
6万
查看次数

计算两个日期之间的天数,不包括周末(仅限MySQL)

我需要计算MySQL中两个日期之间的差异(以天为单位),不包括周末(周六和周日).也就是说,天数之差减去周六和周日之间的数量.

目前,我只计算使用日期:

SELECT DATEDIFF('2012-03-18', '2012-03-01')
Run Code Online (Sandbox Code Playgroud)

这个回归17,但我想排除周末,所以我想12(因为第3和第4,第10和第11和第17是周末的日子).

我不知道从哪里开始.我知道WEEKDAY()函数和所有相关函数,但我不知道如何在这种情况下使用它们.

mysql datediff date weekend

3
推荐指数
1
解决办法
3万
查看次数

mysql-function计算2个日期之间的天数,不包括周末

我搜索了很多例子,我得到了很好的例子:

  1. 计算两个日期之间的天数,不包括周末(仅限MySQL)

  2. 如何计算MySQL中不包括周末和假日的日期差异

  3. 计算SQL中2个日期之间的差异,不包括周末天数

但是没有得到最有希望的解决方案,所以我可以在我的mysql函数中使用来查询行的十万行.

这个是一个非常新的概念,但是没有像@start_date = '2013-08-03' , @end_date = '2013-08-21'预期的答案那样起作用:13,它只给出12,

SELECT 5 * (DATEDIFF(@end_date, @start_date) DIV 7) + MID('0123444401233334012222340111123400012345001234550', 7 * WEEKDAY(@start_date) + WEEKDAY(@end_date) + 1, 1);
Run Code Online (Sandbox Code Playgroud)

所以我试着自己做 -

Concept : 
Input : 1. period_from_date  - from date
        2. period_to_date    - to date
        3. days_to_exclude   - mapping : S M T W TH F Sat   =>  2^0 + 2^6
          (sat and sun to exclude)       ^ ^ ^ ^ ^  ^  ^
                                         0 1 2 3 4 …
Run Code Online (Sandbox Code Playgroud)

mysql

3
推荐指数
2
解决办法
2万
查看次数

不带周末和公共假期的SQL DateDiff

我正在寻找解决方案,如何选择两个日期之间没有周末和公众假期的天数。

到目前为止,我有这个:

SELECT evnt.event_id,
       evnt.date_from,
       evnt.date_to,
       DATEDIFF(DD, evnt.date_from, evnt.date_to) 
       - (DATEDIFF(WK, evnt.date_from, evnt.date_to) * 2) 
       - CASE WHEN DATEPART(DW, evnt.date_from) = 1 THEN 1 ELSE 0 END 
       + CASE WHEN DATEPART(DW, evnt.date_to) = 1 THEN 1 ELSE 0 END AS Date_Diff
       --- COUNT(*) FROM public_holidays AS h WHERE h.date_from BETWEEN evnt.date_from AND evnt.date_to
       FROM events AS evnt
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我取消注释部分:

- COUNT(*) FROM public_holidays AS h WHERE h.date_from BETWEEN evnt.date_from AND evnt.date_to
Run Code Online (Sandbox Code Playgroud)

我想要实现的是在日期范围内获得工作日数。问题出在最后一步,我试图从该范围中减去所有公共假日。

谁能在最后一步提供帮助?看来,我做错了,但我不知道该怎么办。

先感谢您

t-sql date-range date-difference

3
推荐指数
1
解决办法
7416
查看次数

标签 统计

mysql ×3

date ×1

date-difference ×1

date-range ×1

datediff ×1

sql ×1

t-sql ×1

weekend ×1