我使用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个小时才能运行。
答案 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中的预览以查看这些更改。您无需运行报告即可查看此更改。那,或者我不明白你想要完成什么。