2013-03-04 39 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日」今天,這是的第二個周月,查詢工作正常,但我無法理解它,並通過該博客發佈的人還沒有描述過它的工作。有人可以幫助我更好地理解它。無法理解這樣的查詢

回答