在BIDS
我需要一个expression
来取一个日期的年部分,该日期是当前日期的减去1个月。
例如今天的日期是20/04/2012
所需的表达式将返回:
2012
如果今天的日期是05/01/2012
,那么这个表达式会返回:
2011
答案 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)
所以规则是:
右?
=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