通過指定的起始時間,創建該時間段內以年、月、日為時間段的臨時表
ALTER PROCEDURE [dbo].[YOUR_SP_Name]
-- Add the parameters for the stored procedure here
@StartTime DATETIME
,@EndTime DATETIME
AS
BEGIN
-- 將開始時間賦值給臨時變量
DECLARE @TempTime DATETIME
SET @TempTime = @StartTime
--創建字段為年、月、日的臨時表#TMP
CREATE TABLE #TMP
(
[Year] INT NOT NULL,
[Month] INT NOT NULL,
[Day] INT NOT NULL
)
--將給時間段內的日期插入臨時表#TMP
WHILE(@TempTime BETWEEN @StartTime AND @EndTime)
BEGIN
INSERT INTO #TMP VALUES(
DATEPART(YEAR,@TempTime)
,DATEPART(MONTH,@TempTime)
,DATEPART(DAY,@TempTime)
)
SET @TempTime = DATEADD(DAY,1,@TempTime)
END
--下面就可以對你的臨時表做操作啦
SELECT * FROM #TMP
--刪除臨時表#TMP
DROP TABLE #TMP
END