我在ssrs报告中要求在表达式中显示上一个工作日日期。我在sql server中使用下面的sql来显示日期
DATEADD(DAY, CASE DATENAME(WEEKDAY, GETDATE())
WHEN 'Sunday' THEN -2
WHEN 'Monday' THEN -3
ELSE -1 END, DATEDIFF(DAY, 0, GETDATE()))
是否可以帮助我使用类似的代码在ssrs表达式中显示上一个工作日(只是日期)?
答案 0 :(得分:5)
这样的东西在SSRS中功能相同:
=DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2
,True, -1)
, Today())
甚至:
=DateAdd("d"
, Switch(DatePart("w", Today) = 2, -3
,DatePart("w", Today) = 1, -2
,True, -1)
, Today)
这是相同的,但有一些语法快捷方式。
根据您所在的地区,您可能需要使用开始或周参数调用日期函数或调整表达式中的数字,但在英国环境中,上述工作正常。