我正在尝试找到一个SSRS表达式,它将返回最近一个星期六的日期。如果表达式在星期六运行,我希望它显示上周的星期六。
我玩弄了一个我在网上找到的例子,然后让它产生我需要它生成的价值。列出如下:
=IIf(Parameters!O_endDate.Value = nothing, DateAdd("d", -7-(WeekDay(Today(),7))+8, Today()), Parameters!O_endDate.Value)
我为这个愚蠢的帖子道歉。我无法理解为什么上面的表达式产生了我需要的值,并且我想知道它是否会继续工作,因为我希望它能够工作,当在将来的其他几天运行时。注意:我在星期天运行了这段代码。
答案 0 :(得分:1)
这是一种更通用的方法,应该更接近ANSI SQL。
请参阅SQL Server 2008的SQL Fiddle。
因为DATEPART的返回值取决于全局数据库设置,所以为已知的星期六调整返回值。通过将此更改为一周中的另一天,您将获得当天的最后一天。
答案 1 :(得分:0)
你可以试试这个:
try catch block