首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查找两个日期之间的所有星期五和假日

如何查找两个日期之间的所有星期五和假日
EN

Stack Overflow用户
提问于 2012-01-26 16:21:19
回答 7查看 7K关注 0票数 0

下表:

代码语言:javascript
运行
复制
hDate      Holiday

17/12/2011 National Day
01/01/2012 New Year
....

从表格中,我想找出两个日期之间的假期总数:

类似这样的查询:

代码语言:javascript
运行
复制
select count(hdate)
from table1
where hdate between '" & start_date & "' and '" & end_date & "'

用户输入:

代码语言:javascript
运行
复制
start_date = '16/12/2011' 
end_date = '15/01/2012' 

我还想找两个日期之间的星期五。

对于查找星期五,如何创建查询?

预期输出:

代码语言:javascript
运行
复制
Holiday Friday

2       5

从table1放假2-2天,周五5-5天

该怎么做呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-01-26 17:01:30

这将计算两个日期之间的星期五:

代码语言:javascript
运行
复制
declare @from datetime= '2012-01-26'  
declare @to datetime  = '2012-01-28'

select datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 

假期很容易找到,似乎你已经涵盖了这一部分。

我之前已经回答过这个问题了。但没有得到任何信任:

How to calculate the number of "Tuesdays" between two dates in TSQL?

票数 8
EN

Stack Overflow用户

发布于 2012-01-26 16:47:08

请参见:

Why should I consider using an auxiliary calendar table?

日程表可以使围绕任何涉及日期的业务模型开发解决方案变得更加容易。据我所知,在某种程度上,这几乎涵盖了你能想到的任何商业模式。持续不断的问题最终需要冗长、复杂和低效的方法,包括以下问题:

  • x和y之间有多少个工作日?
  • 从3月的第二个星期二到4月的第一个星期五之间的所有日期是什么?-
  • 我预计这批货物应该在什么日期到达?-
  • 本季度所有星期五的日期是什么?-
票数 2
EN

Stack Overflow用户

发布于 2012-01-26 18:04:52

该选择将帮助您:

代码语言:javascript
运行
复制
DECLARE @FROMDATE DATE = '2009-01-07'
DECLARE @TODATE DATE = '2012-01-26'

SELECT COUNT(*) holidays,(select COUNT(*) from table1 where DATEPART(DW, hdate) = 5
AND DT BETWEEN @FROMDATE AND @TODATE ) fridays FROM table1 
WHERE hdate BETWEEN @FROMDATE AND @TODATE
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9015412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档