我正在使用Server 2005
我试着用DatePart(ww,date)函数来获得这一周。
我的代码
SELECT datepart(ww,'2012-01-08 00:00:00')返回2
但我想..。
返回1
与IS0-8601和此网站中的此表相一致。
2012周-01- 2012-1-2至2012-1-8 .
我说错了吗?
有任何一套DATEFIRST 1的技巧,我正在尝试,但没有成功。
耽误您时间,实在对不起
我不能使用ISO_WEEK,因为Server 2005不能工作

发布于 2015-01-03 20:05:09
使用ISO_WEEK
SELECT datepart(ISO_WEEK,'2012-01-08 00:00:00')你可以在MSDN上读到更多关于它的信息。
编辑:
我没有意识到ISO_WEEK在Server 2005中是不可用的。因为它是基于一周中的星期四,所以现在问题转移到从给定的一天到星期四:
DECLARE @Date date = '2012-01-08'
DECLARE @Thursday date = DATEADD(DAY, 3-(DATEPART(WEEKDAY, @Date) + @@DATEFIRST - 2) % 7, @Date)
SELECT (DATEPART(DAYOFYEAR,@Thursday) - 1) / 7 +1https://stackoverflow.com/questions/27758826
复制相似问题