2013-03-04 68 views
0
declare @date varchar(30) = '2013-04-18' 

DECLARE @WeekOfMonth TINYINT 
SET @WeekOfMonth = 
    (
     DAY(@DATE) + 
     (DATEPART(dw, 
       DATEADD (MONTH, 
         DATEDIFF (MONTH, 
            0, 
            @DATE), 
         0)) 
     - 1) -1)/7 + 1 

print @WeekOfMonth 

这是一个查询,我发现在互联网上找出月的周数,喜欢它的“2013年3月4日”今天,这是的第二个周月,查询工作正常,但我无法理解它,并通过该博客发布的人还没有描述过它的工作。有人可以帮助我更好地理解它。无法理解这样的查询

回答