UFN_DATES_AREDATESOVERLAPPING
Checks whether two date ranges are overlapping.
Return
| Return Type |
|---|
| bit |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @RANGEONESTARTS | datetime | IN | |
| @RANGEONEENDS | datetime | IN | |
| @RANGETWOSTARTS | datetime | IN | |
| @RANGETWOENDS | datetime | IN |
Definition
Copy
create function dbo.UFN_DATES_AREDATESOVERLAPPING
(
@RANGEONESTARTS datetime,
@RANGEONEENDS datetime,
@RANGETWOSTARTS datetime,
@RANGETWOENDS datetime
)
returns bit
as
begin
declare @OVERLAPPING bit
set @OVERLAPPING = case when ( @RANGETWOENDS between @RANGEONESTARTS and @RANGEONEENDS) or
(@RANGEONEENDS between @RANGETWOSTARTS and @RANGETWOENDS) or
( @RANGETWOSTARTS between @RANGEONESTARTS and @RANGEONEENDS) or
(@RANGEONESTARTS between @RANGETWOSTARTS and @RANGETWOENDS) or
( @RANGETWOSTARTS is null and @RANGEONESTARTS <= @RANGETWOENDS) or
(@RANGEONESTARTS is null and @RANGETWOSTARTS <= @RANGEONEENDS) or
( @RANGETWOENDS is null and @RANGEONEENDS >= @RANGETWOSTARTS) or
(@RANGEONEENDS is null and @RANGETWOENDS >= @RANGEONESTARTS) or
(@RANGEONESTARTS is null and @RANGETWOSTARTS is null) or
(@RANGEONEENDS is null and @RANGETWOENDS is null) or
(@RANGEONESTARTS is null and @RANGEONEENDS is null) or
( @RANGETWOSTARTS is null and @RANGETWOENDS is null) then 1 else 0 end
return @OVERLAPPING
end