我想从格式为YY-MM-DD HH:MI:SS
的日期中减去天数。是否有任何自动化功能来执行此操作,或者是执行此任务的详尽编码。我正在编写一个包含上述任务的存储过程。
更清楚地说,这是日期2011-12-07 06:05:19.200
,我想从中减去19天,结果将是2011-11-18 06:05:19.200
,天数将成为参数SP
答案 0 :(得分:8)
你删除了之前我回答过的相同问题,但这里有一个功能可以满足您的需求;
CREATE FUNCTION SUBTRACT_DAYS( @date AS DATETIME, @days AS INT )
RETURNS DATETIME
BEGIN
RETURN DATEADD(dd, -@days, @date);
END;
SELECT dbo.SUBTRACT_DAYS('2011-12-07 06:05:19.200', 19);
> 2011-11-18 06:05:19.200
答案 1 :(得分:4)
这个怎么样:
CREATE PROCEDURE dbo.DoSomethingUseful @InputDate DATETIME, @NumberOfDays INT
AS BEGIN
SELECT DATEADD(Day, @NumberOfDays, @InputDate)
END
然后像这样调用它:
EXEC dbo.DoSomethingUseful @InputDate = '2011-12-07T06:05:19.200', @NumberOfDays = -19
返回:
2011-11-18 06:05:19.200