SSRS报告上显示错误的周数

时间:2015-04-15 22:29:16

标签: sql sql-server-2008 reporting-services

我在查询中并在sql 2008 r2上运行

datepart(ww, CreatedOn) as WeekYear

2015年1月1日作为第1周返回。完美。在报表设计器中使用相同的查询并运行报表时,SSRS似乎将其转换为第53周。2015年1月2日正好是第1周,只是1月1日正在发生变化。对于该字段我只使用查询中的值,我不要求SSRS进行任何值转换。这只是SSRS的一个怪癖吗?

1 个答案:

答案 0 :(得分:0)

DatePart的星期几函数取决于可选的FirstWeekOfYearValue参数。该参数应该默认为FirstWeekOfYear.Jan1,这意味着包含1月1日的那一周是第1周。它可能不会这样做。

试试这个:DatePart(ww, CreatedOn, 1, 1)

如果这不起作用,请尝试对日期进行硬编码以进行健全性检查:

试试这个:DatePart(ww, DateSerial(2015,1,1), 1, 1)

如果硬编码日期有效且你的日期字段没有,那么时区肯定会发生一些事情。

https://msdn.microsoft.com/en-us/library/20ee97hz%28v=vs.90%29.aspx