获取每个月的最后一天,利用游标存在新表中
2014-09-29 08:50
260 查看
--创建临时表 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+1 BEGIN IF(@StartYear<>@CurrentYear) BEGIN WHILE @StartMonth<13 BEGIN --获取最后每一月的最后一天 --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 @dt SET @dts=CONVERT(NVARCHAR(20),@dt,120) INSERT INTO #L VALUES(@dts) SET @StartMonth=@StartMonth+1 END END ELSE BEGIN WHILE @StartMonth<@CurrentMonth+1 BEGIN SELECT @dt=dateadd(second,-1,dateadd(day,-1,rtrim(@StartYear)+'-'+rtrim(@StartMonth)+'-01')) PRINT @dt SET @dts=CONVERT(NVARCHAR(20),@dt,120) INSERT INTO #L VALUES(@dts) SET @StartMonth=@StartMonth+1 END END SET @StartYear=@StartYear+1 SET @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; --读取下一行数据 END CLOSE My_Cursor; --关闭游标 DEALLOCATE My_Cursor; --释放游标 GO --删除临时表 DROP TABLE #L
相关文章推荐
- 利用python获取某年中每个月的第一天和最后一天
- 【转载】java利用 Calendar获取当月最后一天
- 获取每个月最后一天的小技巧
- easy UI中利用JS获取当前月的第一天和最后一天,并显示到时间控件上
- joda 获取每个月第一天第一秒和最后一天最后一秒
- 获取每个月最后一天sql
- oracle如何获取每个月的最后一天
- 获取每个月的最后一天的当前日期以及前一个月的当前日期,外加23:59:59
- 获取每个月的第一天和最后一天
- java利用 Calendar获取当月最后一天
- sql 获取每个月的最后一天
- [VB.NET]VB.NET 如何获取每个月的最后一天?
- SQL计算每个月的第一天,最后一天,本月的天数
- 获取指定日期的第一天和最后一天
- .Net中获取一周第一天、最后一天,一月第一天、最后一天
- SQL 获取第一天及最后一天
- SQL中获取当月的最后一天
- javascript获取某月最后一天(公历)
- LAST_DAY(date) 获取一个日期或日期时间值,返回该月最后一天对应的值。若参数无效,则返回NULL。
- 获取当前月的第一天和最后一天...