Sona,You have conflicting data in you exampleeg 1PM - 6PM in the first example and 12PM - 6PM in the second..I will assume that the second example is correct...Anyway.....First create a base table with the time range...create table TimeSeries(StartDate datetime not null, EndDate Datetime not null constraint PK_TimeSeries Primary Key (StartDate, EndDate))goinsert TimeSeries (StartDate, EndDate) values ('00:00:00','09:00:00')insert TimeSeries (StartDate, EndDate) values ('09:00:00','12:00:00')insert TimeSeries (StartDate, EndDate) values ('12:00:00','18:00:00')insert TimeSeries (StartDate, EndDate) values ('18:00:00','00:00:00')goNow that we have our "sequence" table....Insert into Data (Name, StartDate, EndDate)Select distinct 'C' as name, Dateadd(d,Datediff(d,TS.StartDate,D.StartDate),TS.StartDate) as StartDate, Dateadd(d,Datediff(d,TS.EndDate,D.EndDate),TS.EndDate) as EndDate from TimeSeries TS CROSS JOIN Data Dwhere not exists (Select 1 from Data D where D.StartDate = Dateadd(d,Datediff(d,TS.StartDate,D.StartDate),TS.StartDate))
HTHDavidMTomorrow is the same day as Today was the day before.