Sql server 2008 Sql Server,获取给定年份的所有周数?

Sql server 2008 Sql Server,获取给定年份的所有周数?,sql-server-2008,Sql Server 2008,有没有办法在给定的年份获得所有的周数 假设我有2011年,想要那一年的所有时间,这可能吗 我使用的是Sql Server 2008。您可以使用选择DATEPART(WEEK,GETDATE())来获取一年中的周数,理想情况下,我会说您需要一个日历查找表来构建 您可以使用选择DATEPART(WEEK,GETDATE())来获取一年中的周数,理想情况下,我会说您需要一个日历查找表来根据它进行构建 查询: SELECT DATEPART(wk,DATEADD(wk,t2.number,'2011'

有没有办法在给定的年份获得所有的周数

假设我有2011年,想要那一年的所有时间,这可能吗


我使用的是Sql Server 2008。

您可以使用
选择DATEPART(WEEK,GETDATE())
来获取一年中的周数,理想情况下,我会说您需要一个日历查找表来构建

您可以使用
选择DATEPART(WEEK,GETDATE())
来获取一年中的周数,理想情况下,我会说您需要一个日历查找表来根据它进行构建

查询:

SELECT DATEPART(wk,DATEADD(wk,t2.number,'2011')) as Weeknumb
FROM master..spt_values t2
WHERE t2.type = 'P'
AND t2.number <= 255
AND YEAR(DATEADD(wk,t2.number,'2011'))=2011
选择DATEPART(wk,DATEADD(wk,t2.number,'2011')作为周编号
来自主..标准贯入度值t2
其中t2.type='P'
和t2.number查询:

SELECT DATEPART(wk,DATEADD(wk,t2.number,'2011')) as Weeknumb
FROM master..spt_values t2
WHERE t2.type = 'P'
AND t2.number <= 255
AND YEAR(DATEADD(wk,t2.number,'2011'))=2011
选择DATEPART(wk,DATEADD(wk,t2.number,'2011')作为周编号
来自主..标准贯入度值t2
其中t2.type='P'

t2.数字有效,但为什么在这页上说2013年为52周@Uuid这一切都是关于你希望如何显示周的,看看这里,有时会有一些规则,如果上周应该有3天或4天,如果上周没有3天或4天,那么明年的第一周就算数了。@Uuid我发现这个
周数是根据ISO-8601标准,从周一开始的周数。一年的第一周是包含该年第一个星期四(“第一个4天工作周”)的一周。一年中最高的周数是52周或53周。
这是可行的,但为什么在本页中说2013年为52周@Uuid这一切都是关于你希望如何显示周的,看看这里,有时会有一些规则,如果上周应该有3天或4天,如果上周没有3天或4天,那么明年的第一周就算数了。@Uuid我发现这个
周数是根据ISO-8601标准,从周一开始的周数。一年的第一周是包含该年第一个星期四(“第一个4天工作周”)的一周。一年中的最高周数为52或53。