시작시간과 종료시간을 가진 테이블에서 중복되는 시간을 제외한 시간의 합을 구하고 싶습니다.

예제로 쓸 테이블입니다.
------------------------------------------------------------------------
DECLARE @TABLE TABLE
(
IDX INT IDENTITY(1,1),
START_TIME datetime,
END_TIME datetime
)

insert into @TABLE(START_TIME, END_TIME)
SELECT '2020-07-14 12:00:00.000', '2020-07-14 14:00:00.000'
UNION ALL
SELECT '2020-07-14 13:00:00.000', '2020-07-14 15:00:00.000'
UNION ALL
SELECT '2020-07-14 14:00:00.000', '2020-07-14 16:00:00.000'
UNION ALL
SELECT '2020-07-14 20:00:00.000', '2020-07-15 01:00:00.000'
UNION ALL
SELECT '2020-07-15 00:00:00.000', '2020-07-15 02:00:00.000'
UNION ALL
SELECT '2020-07-14 21:00:00.000', '2020-07-15 01:00:00.000'
UNION ALL
SELECT '2020-07-15 07:00:00.000', '2020-07-15 08:00:00.000'
------------------------------------------------------------------------

단순히 시간차이의 합을 더해버리면 1080분이 나오지만
중복되는 시간을 제외하면 660분이 됩니다.

시작시간과 종료시간이 정해진 시간이 아니라 랜덤한 시간이고
초단위까지 계산을 해야합니다..

중복되는 시간을 제외한 시간의 합을 구하는방법 있을까요?