2017-08-24 98 views
2

我有一个查询查找我的表中的所有日期,他们是星期四。此外,我可以用这段代码找到第二个和第四个星期四的大部分时间,但有时会发现它们,增加额外的或错过它们。我怎样才能使这更精确?找到每隔第二和第四个星期四

select Date, DATENAME(dw, Date) as 'Day' 
from Appointment_Calendar 
where DATENAME(dw, Date) = 'Thursday' and DATEPART(day,Date) between 8 and 14 
    or DATENAME(dw, Date) = 'Thursday' and DATEPART(day,Date) between 23 and 30 

作为示例,该脚本查找11/30作为第五个星期四的有效日期。

我的表格开始日期是今天8/24/2017供参考。

回答

5

第四个星期四应该在该月的第22和28天之间,而不是第23和第30天。我认为变化应该是这么简单......

因此改变最后一行:

or DATENAME(dw, Date) = 'Thursday' and DATEPART(day,Date) between 22 and 28 
+0

哇我忽略了这一点,我最初开始用22和29之间谢谢 – SgtOVERKILL

相关问题