2011-10-20 102 views
24

在SQL Server Reporting Services中;我如何计算上个月的第一天和最后一天?当月的第一天和最后一天

我知道我可以使用下面的表达式来获取当前月份的最后一天,但当我试图找到上个月的第一个和最后一个时,我被卡住了。

=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(1).AddDays(-1) 

回答

34

只是基于你的代码工作的猜测。

--previous month last 
=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1) 

--previous month first 
=DateSerial(Year(Now()), Month(Now()), "1").AddMonths(-1) 
+0

+1好猜测。有用 – niktrs

7

对于当月

=DateSerial(Year(Parameters!ParameterName.Value), Month(Parameters!ParameterName.Value), "1").AddMonths(1).AddDays(-1) 

上月最后一天:

=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1) 

上月第一天:

=DateSerial(Year(Parameters!ParameterName.Value), Month(Parameters!ParameterName.Value), "1").AddMonths(-1) 
2

上月最后一天:

=DateAdd("d",-(Day(today)), Today) 
1

首先比上月:

=DateAdd("m",-1,DateAdd("d",1-(Day(Today)), Today)) 
0

使用纯VB功能

首页上一页月的一天

=DateAdd("m", -1, DateSerial(Year(Today()), Month(Today()), 1)) 

末上个月的一天

=DateAdd("d", -1, DateSerial(Year(Today()), Month(Today()), 1)) 
0

我能做到这一点,并显示在mm/dd格式使用:

=Format(DateAdd("D", -1, (DateAdd("M", 1, yourdate.value))), "MM/dd") 
0
=DateSerial(Year(Now), Month(Now), 1) 
相关问题