SSRS BIDS表达式语言月份部分来自当前日期

时间:2012-04-20 09:38:47

标签: sql-server reporting-services ssrs-2008 bids ssrs-expression

BIDS我需要一个expression来取一个日期的部分,该日期是当前日期的减去1个月。

例如今天的日期是20/04/2012所需的表达式将返回:

2012

如果今天的日期是05/01/2012,那么这个表达式会返回:

2011

3 个答案:

答案 0 :(得分:1)

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION YearRollOver 
(

    @dDateIn DATETIME
)
RETURNS DATETIME

AS

BEGIN

    declare @dDATEOut  DATETIME


    SELECT @dDATEOut = CAST(CAST(YEAR(@dDateIn)+1 AS varchar)+'/'+CAST(MONTH(@dDateIn) as varchar)+'/'+cast(DAY(@dDateIn) as varchar)  AS DATETIME)

    RETURN @dDATEOut

END
GO

试试这个功能。只需将日期传递给增量,它就会使你的年份增加1。

如果您满意,请记得关闭帖子。

干杯

的Mac

答案 1 :(得分:1)

所以规则是:

  • 如果是1月 - >去年回归
  • 其他 - >今年回归

右?

=IIf(Datepart("m", Fields!date.Value)=1,Datepart("YYYY", Fields!date.Value)-1,Datepart("YYYY", Fields!date.Value))

答案 2 :(得分:0)

如果你需要做很多事情,我会创建一个函数来执行此操作,这将提取年,月和日 - 每个都为其自己的var。增加Year,将日期重建为字符串,并将字符串CAST为DATE。如果你需要一只手让我知道。

的Mac