有没有人知道如何获得具有2个条件的月份周数:星期日根据我们的ISO标准开始一周,并且星期必须属于它开始的月份。我能够使用这个工作假设周一开始一周并将DATEFIRST
设置为1的代码,但现在我必须在不设置DATEFIRST
的情况下执行此操作,因此我必须将星期日作为开头考虑恢复。
declare @created_dt datetime = '2014-10-25'
select datepart(day, datediff(day, 0, DATEADD(DAY, 1 - DATEPART(WEEKDAY, @created_dt),
CAST(@created_dt AS DATE)))/7 * 7)/7 + 1
我看了一下这里的链接,解决方案不一样: TSQL Calculate week number of the month
例如,该解决方案将在2014年10月19日列为10月份第4周的一天。我的解决方案需要返回3作为答案,因为每周将属于它开始的月份,例如9月29日至10月5日是属于9月的一周。因此,根据我的要求,10月19日将是10月的第3周