我需要计算一周被分配到的年份。例如,2003年12月29日(星期一)被分配到了2004年的第一周(这只适用于欧洲,我想)。您可以使用以下代码查看:
但是现在我需要一种简单的方法来获取本周分配的年份。我目前的做法并不那么优雅:
如果有人知道更优雅的方式,那就太好了 :-)
SELECT DATEPART(isowk, '20141229');
但是现在我需要一种简单的方法来获取本周分配的年份。我目前的做法并不那么优雅:
DECLARE @week int, @year int, @date char(8)
--set @date = '20150101'
set @date = '20141229'
SET @week = cast(datepart(isowk, @date) as int)
if @week = 1
begin
if DATEPART(MONTH, @date) = 12
begin
set @year = DATEPART(year, @date) + 1
end
else
begin
set @year = DATEPART(year, @date)
end
end
select @date "DATE", @week "WEEK", @year "YEAR"
如果有人知道更优雅的方式,那就太好了 :-)