在BIDS
我需要一个日期expression
的YEAR部分,它是当前日期的负 1 个月。
例如今天的日期是20/04/2012
所需的表达式将返回:
2012
如果今天的日期是05/01/2012
确定的表达式将返回:
2011
在BIDS
我需要一个日期expression
的YEAR部分,它是当前日期的负 1 个月。
例如今天的日期是20/04/2012
所需的表达式将返回:
2012
如果今天的日期是05/01/2012
确定的表达式将返回:
2011
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
试试这个功能。只需将要增加的日期传递给它,它就会将您的 YEAR 增加 1。
如果您满意,请记住关闭线程。
干杯
苹果电脑
所以规则是:
对?
=IIf(Datepart("m", Fields!date.Value)=1,Datepart("YYYY", Fields!date.Value)-1,Datepart("YYYY", Fields!date.Value))
如果您要做很多事情,我会创建一个函数来执行此操作,该函数将提取年、月和日-每个都提取到自己的变量中。增加年份,将日期重建为字符串并将字符串转换为 DATE。如果您需要帮助,请告诉我。
苹果电脑