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-03-04”,这是本月的第二周,查询工作正常,但我无法理解它和在该博客上发布它的人也没有描述它的工作原理。有人可以帮助我更好地理解它。