Sgt*_*ILL 2 sql sql-server date
我有一个查询,查找我的表中的所有日期,他们是星期四.此外,我已经能够使用此代码找到第二和第四个星期四的大部分,但有时它会找到它们,添加额外的或错过它们.我怎样才能使其更精确?
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
Run Code Online (Sandbox Code Playgroud)
作为示例,此脚本在其第五个星期四时将11/30视为有效日期.
我的餐桌开始日期是今天,8/24/2017供参考.
小智 5
第四个星期四应该在本月22日至28日之间,而不是23日和30日.我认为变化应该那么简单......
所以将最后一行改为:
or DATENAME(dw, Date) = 'Thursday' and DATEPART(day,Date) between 22 and 28
Run Code Online (Sandbox Code Playgroud)