--創建臨時表CREATE TABLE #L(ID int IDENTITY(1,1) NOT NULL,Data NVARCHAR(50)PRimary key(ID))--@CurrentYear INT 當前年,@CurrentMonth INT 當前月,--@StartYear INT 起始年,@StartMonth INT起始月DECLARE @CurrentYear INT,@CurrentMonth INT,@StartYear INT,@StartMonth INT SET @StartYear=2012 SET @StartMonth=1 SET @CurrentYear=DATEPART(YEAR, GETDATE()) SET @CurrentMonth=DATEPART(MONTH,GETDATE()) DECLARE @dt DATETIME,@dts NVARCHAR(50) WHILE @StartYear<@CurrentYear+1BEGINIF(@StartYear<>@CurrentYear)BEGIN WHILE @StartMonth<13BEGIN--獲取最后每一月的最后一天--SELECT @dt=dateadd(day,-1,dateadd(month,1,rtrim(@StartYear)+'-'+rtrim(@StartMonth)+'-01'))--獲取最后每一月的最后一天的最后一秒SELECT @dt=dateadd(second,-1,dateadd(day,-1,rtrim(@StartYear)+'-'+rtrim(@StartMonth)+'-01'))PRINT @dtSET @dts=CONVERT(NVARCHAR(20),@dt,120)INSERT INTO #L VALUES(@dts)SET @StartMonth=@StartMonth+1ENDENDELSE BEGINWHILE @StartMonth<@CurrentMonth+1BEGINSELECT @dt=dateadd(second,-1,dateadd(day,-1,rtrim(@StartYear)+'-'+rtrim(@StartMonth)+'-01'))PRINT @dtSET @dts=CONVERT(NVARCHAR(20),@dt,120)INSERT INTO #L VALUES(@dts)SET @StartMonth=@StartMonth+1END END SET @StartYear=@StartYear+1SET @StartMonth=1 END DECLARE @time varchar(50) DECLARE My_Cursor CURSOR --定義游標FOR (SELECT Data FROM #L) --查出需要的集合放到游標中OPEN My_Cursor; --打開游標FETCH NEXT FROM My_Cursor INTO @time; --讀取第一行數據WHILE @@FETCH_STATUS = 0 BEGIN PRINT @time; --打印數據 INSERT INTO datetimess VALUES (@time) FETCH NEXT FROM My_Cursor INTO @time; --讀取下一行數據 ENDCLOSE My_Cursor; --關閉游標DEALLOCATE My_Cursor; --釋放游標GO--刪除臨時表DROP TABLE #L
新聞熱點
疑難解答