SSRS表达 - 获取最近星期六的日期

时间:2013-01-06 21:57:39

标签: sql sql-server reporting-services

我正在尝试找到一个SSRS表达式,它将返回最近一个星期六的日期。如果表达式在星期六运行,我希望它显示上周的星期六。

我玩弄了一个我在网上找到的例子,然后让它产生我需要它生成的价值。列出如下:

=IIf(Parameters!O_endDate.Value = nothing, DateAdd("d", -7-(WeekDay(Today(),7))+8, Today()), Parameters!O_endDate.Value)

我为这个愚蠢的帖子道歉。我无法理解为什么上面的表达式产生了我需要的值,并且我想知道它是否会继续工作,因为我希望它能够工作,当在将来的其他几天运行时。注意:我在星期天运行了这段代码。

2 个答案:

答案 0 :(得分:1)

这是一种更通用的方法,应该更接近ANSI SQL。

请参阅SQL Server 2008的SQL Fiddle

因为DATEPART的返回值取决于全局数据库设置,所以为已知的星期六调整返回值。通过将此更改为一周中的另一天,您将获得当天的最后一天。

答案 1 :(得分:0)

你可以试试这个: try catch block