create function [dbo].[GetRangeDays] (@dtRange1From DATE,
@dtRange1To DATE,
@dtRange2From DATE,
@dtRange2To DATE)
RETURNS int
AS
BEGIN
IF NOT ( @dtRange2From > @dtRange1To OR @dtRange2To < @dtRange1From )
BEGIN
DECLARE @dt1 DATE
DECLARE @dt2 DATE
SELECT @dt1 = @dtRange1From,
@dt2 = @dtRange1To
IF @dtRange2From > @dt1
SET @dt1 = @dtRange2From
IF @dtRange2To < @dt2
SET @dt2 = @dtRange2To
RETURN DATEDIFF(d, @dt1, @dt2) + 1
END
RETURN 0
END
GO