check Record (Slot) is already exists between Start and End time in SQL Server
In this article I will show you how to check Record is already exists between Start and End time .
I have a table ,its having start and end time column with 3 rows(or it may be n of rows).so i am putting here my SQL query to get those records if any record have time between Start and end time .
DECLARE @mytable as Table
(
StartTime time,
EndTime time
)
INSERT INTO @mytable VALUES
('08:00', '08:30'),
('10:30', '12:30'),
('12:30', '14:15')
DECLARE @StartTime time, @EndTime time
SELECT @StartTime = '14:15',
@EndTime = '18:15'
SELECT *
FROM @mytable
WHERE
(
StartTime < @EndTime
AND EndTime > CASE WHEN @StartTime > @EndTime THEN '00:00' ELSE @StartTime END
)
OR
(
@StartTime > @EndTime
AND StartTime > EndTime
)
OR
(
@StartTime < @EndTime
AND StartTime > EndTime
AND EndTime > @StartTime
)
Note : I have taken is considertion that the time peroid might inlcude two diffrent days.you can filter it by adding new paramter as current selected date
I have a table ,its having start and end time column with 3 rows(or it may be n of rows).so i am putting here my SQL query to get those records if any record have time between Start and end time .
DECLARE @mytable as Table
(
StartTime time,
EndTime time
)
INSERT INTO @mytable VALUES
('08:00', '08:30'),
('10:30', '12:30'),
('12:30', '14:15')
DECLARE @StartTime time, @EndTime time
SELECT @StartTime = '14:15',
@EndTime = '18:15'
SELECT *
FROM @mytable
WHERE
(
StartTime < @EndTime
AND EndTime > CASE WHEN @StartTime > @EndTime THEN '00:00' ELSE @StartTime END
)
OR
(
@StartTime > @EndTime
AND StartTime > EndTime
)
OR
(
@StartTime < @EndTime
AND StartTime > EndTime
AND EndTime > @StartTime
)
Note : I have taken is considertion that the time peroid might inlcude two diffrent days.you can filter it by adding new paramter as current selected date
Comments
Post a Comment