SSRS如何在7天前加上1小时定义参数

时间:2018-04-05 20:00:05

标签: sql-server reporting-services

我使用SSRS和SQL Server进行了报告,并为报告设置了StartDate和EndDate参数。

我已将StartDate的默认值设置为=DateAdd("D", -7, Today()) 我已将EndDate的默认值设置为=DateAdd("H", 1, Today())

如何在StartDate参数中添加1小时?

我试过

=DateAdd("H", 1, (DateAdd("D", -7, Today())))

那会有用吗?我目前正在测试它,但报告通常需要6个小时才能运行。

2 个答案:

答案 0 :(得分:1)

以小时而不是几天来完成日期数学。

=DateAdd("H", -169, Today())

答案 1 :(得分:0)

那会有用吗?您始终可以在SQL Server中尝试。答案是肯定的:o)

虽然,您应该使用NOW()函数而不是TODAY()函数(请参阅下面的更新)。

SQL Server:

SELECT DATEADD(HH, 1, DATEADD(DD, -7, GETDATE()))

SSRS / VS:

DateAdd(DateInterval.Hour, -167, Now())

更新:对于Larnu来说,Today()默认为MM / DD / YYYY的日期格式。如果您只从今天减去167小时,那么该字段将显示日期时间,但结果将不正确,因为它将在当天凌晨1:00显示。所以使用NOW()函数,而不是TODAY()。结果将是当前时间167小时,格式为MM / DD / YYYY HH:MM:SS。

此外,您可以在参数字段中进行更改,然后单击VS中的预览以查看这些更改。您无需运行报告即可查看此更改。那,或者我不明白你想要完成什么。