如何找到两个日期之间的所有周五和假日

Jet*_*ack 0 sql t-sql sql-server sql-server-2000

桌子:

hDate      Holiday

17/12/2011 National Day
01/01/2012 New Year
....
Run Code Online (Sandbox Code Playgroud)

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

像这样的查询:

select count(hdate)
from table1
where hdate between '" & start_date & "' and '" & end_date & "'
Run Code Online (Sandbox Code Playgroud)

用户输入:

start_date = '16/12/2011' 
end_date = '15/01/2012' 
Run Code Online (Sandbox Code Playgroud)

而且我想在2个日期之间找到星期五.

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

预期产量:

Holiday Friday

2       5
Run Code Online (Sandbox Code Playgroud)

[2] - 从表1,[5] - 周五5天假期2天

这该怎么做?

t-c*_*.dk 7

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

declare @from datetime= '2012-01-26'  
declare @to datetime  = '2012-01-28'

select datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 
Run Code Online (Sandbox Code Playgroud)

假期很容易找到,似乎你已经覆盖了那个部分.

我之前有点回答.但没有得到任何信任:

如何计算TSQL中两个日期之间的"星期二"数量?