UFN_GROUPMEMBERDATERANGE_ISUNIQUE
Determines whether or not a given date range overlaps with any other date range records for a group member
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPMEMBERID | uniqueidentifier | IN | |
@DATEFROM | date | IN | |
@DATETO | date | IN |
Definition
Copy
CREATE function dbo.UFN_GROUPMEMBERDATERANGE_ISUNIQUE
(
@GROUPMEMBERID uniqueidentifier,
@DATEFROM date,
@DATETO date
)
returns bit
with execute as caller
as
begin
declare @DUPLICATECOUNT int;
select
@DUPLICATECOUNT = count(ID)
from
dbo.GROUPMEMBERDATERANGE
where
GROUPMEMBERID = @GROUPMEMBERID and
(
( DATETO between @DATEFROM and @DATETO) or
(@DATETO between DATEFROM and DATETO) or
( DATEFROM between @DATEFROM and @DATETO) or
(@DATEFROM between DATEFROM and DATETO) or
( DATEFROM is null and @DATEFROM <= DATETO) or
(@DATEFROM is null and DATEFROM <= @DATETO) or
( DATETO is null and @DATETO >= DATEFROM) or
(@DATETO is null and DATETO >= @DATEFROM) or
(@DATEFROM is null and DATEFROM is null) or
(@DATETO is null and DATETO is null) or
(@DATEFROM is null and @DATETO is null) or
( DATEFROM is null and DATETO is null)
)
if (@DUPLICATECOUNT <= 1)
return 1;
return 0;
end