我有一个查询,查找表中所有星期四的日期。此外,我已经能够使用此代码找到第二个和第四个星期四的大部分内容,但有时它会找到它们,添加额外的内容或错过它们。我怎样才能使其更准确?
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 作为有效日期。
我的表格开始日期是今天,2017 年 8 月 24 日,供引用。
最佳答案
第四个星期四应该是该月的 22 日至 28 日,而不是 23 日至 30 日。我想改变应该就是这么简单......
因此将最后一行更改为:
or DATENAME(dw, Date) = 'Thursday' and DATEPART(day,Date) between 22 and 28
关于sql - 查找每个第二个和第四个星期四,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45863968/