Tuesday, 28 July 2015

Find StartDate and EndDate using while loop in sql table and base on StartDate and EndDate Get sequence date


declare @Flag int=(select count(1) from [LMS_tbl_AcademicCalenderDetails])
while @Flag>0
begin
DECLARE @StartDate DATETIME,@EndDate DATETIME
SELECT @StartDate=MIN(EventStartDate),@EndDate=MAX(EventEndDate) FROM (
SELECT row_number() over(order by EventStartDate,EventSysId) as RN,EventStartDate,EventEndDate
FROM [LMS_tbl_AcademicCalenderDetails]
)t
WHERE RN=@Flag

IF (SELECT object_id('TempDB..#tmpDate')) IS NOT NULL
BEGIN
insert into #tmpDate (AllDates)
SELECT DATEADD(d, number, @StartDate) AS AllDates
FROM MASTER..spt_values main
WHERE TYPE = 'p'
AND number BETWEEN 0
AND DATEDIFF(dd, @StartDate, @EndDate)
END
ELSE
BEGIN
SELECT DATEADD(d, number, @StartDate) AS AllDates
into #tmpDate
FROM MASTER..spt_values main
WHERE TYPE = 'p'
AND number BETWEEN 0
AND DATEDIFF(dd, @StartDate, @EndDate)
END
set @Flag=@Flag-1
end
select * from #tmpDate
drop table #tmpDateD

No comments:

Post a Comment