• DECLARE @T TABLE

    (StartDate DATETIME,

    EndDate DATETIME,

    Comments VARCHAR(255));

    INSERT INTO @T VALUES ('2013-01-01 08:00', '2013-01-01 16:00', 'Overlapping Both Ends');

    INSERT INTO @T VALUES ('2013-01-01 08:00', '2013-01-01 12:00', 'Overlapping Front');

    INSERT INTO @T VALUES ('2013-01-01 13:00', '2013-01-01 18:00', 'Overlapping End');

    INSERT INTO @T VALUES ('2013-01-01 11:00', '2013-01-01 13:00', 'Not Overlapping');

    DECLARE @StartDate DATETIME = '2013-01-01 10:00',

    @EndDate DATETIME = '2013-01-01 14:00';

    SELECT

    SUM(CASE

    WHEN StartDate < @StartDate AND EndDate > @EndDate THEN DATEDIFF(SECOND, @StartDate, @EndDate)

    WHEN StartDate >= @StartDate AND EndDate <= @EndDate THEN DATEDIFF(SECOND, StartDate, EndDate)

    WHEN StartDate < @StartDate THEN DATEDIFF(SECOND, @StartDate, EndDate)

    WHEN EndDate > @EndDate THEN DATEDIFF(SECOND, StartDate, @EndDate)

    END * 60.)

    FROM

    @T;

    The SQL Guy @ blogspot[/url]

    @SeanPearceSQL

    About Me[/url]