我正在使用SQL Server2008。我想从当前日期和某些输入日中获取日期。
例如:天数= 300(可能是用户需要的任何天数)
当前的日期
我尝试了这个:
ALTER PROCEDURE [dbo].[SCHEME_DETAILS_SUBCRIBE]
@PERIOD varchar(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [USER_SUBCRIPTION_DETAILS] ([USER_SUB_DATE], [USER_SUB_END_DATE])
VALUES( ,GETDATE(), DATEADD(DAY, @PERIOD, GETDATE()) )
END
如何获得两者之间的日期?
这是做到这一点的一种方法
DECLARE @Period INT = 10 --300 in your case
DECLARE @FromDate DATE = GETDATE()
DECLARE @ToDate DATE = DATEADD(dd,@Period,@fromDate)
;WITH cte AS
(
SELECT @fromDate AS dt
UNION ALL
SELECT DATEADD(dd,1,dt) FROM cte WHERE dt<@ToDate
)
SELECT * FROM cte
更新:如果您只想在period
天数后结束日期,则为
DATEADD(dd,@Period,@fromDate)
注意,period
必须是类型int
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句