Re: [SQL ] 显示连续时间

楼主: retsamsu   2015-11-13 14:53:08
※ 引述《bernachom (Terry)》之铭言:
[deleted]
刚刚试了一下,想法是跟子档没关系,想从主档试试看,以下是我的想法,参考一下
http://sqlfiddle.com/#!3/56798/1
1. 想办法做一个 temp table A (tempA),里头多个字段 cnt 纪录要输出几次(差几天)
2. 想办法做一个 temp table A2 (tempA2),同原来 A 的架构,输出用
3. 用 cursor 爬整个 tempA,最后的 select tempA2 可以自己组合
DECLARE @idx int, @STARTDATE varchar(10), @STARTIME varchar(5), @ENDDATE
varchar(10), @ENDTIME varchar(5), @cnt int, @forloop int
DECLARE CURSORA CURSOR FOR select * from tempA
OPEN CURSORA
FETCH NEXT FROM CURSORA
INTO @idx, @STARTDATE, @STARTIME, @ENDDATE, @ENDTIME, @cnt
WHILE @@FETCH_STATUS = 0
BEGIN
SET @forloop = 0
WHILE @forloop < @cnt
BEGIN
INSERT INTO tempA2
VALUES
(@idx, @STARTDATE, @STARTIME, @ENDDATE, @ENDTIME)
SET @forloop = @forloop + 1
END
FETCH NEXT FROM CURSORA
INTO @idx, @STARTDATE, @STARTIME, @ENDDATE, @ENDTIME, @cnt
END
CLOSE CURSORA;
DEALLOCATE CURSORA;
SELECT * FROM tempA2;

Links booklink

Contact Us: admin [ a t ] ucptt.com