SELECT
yt1.[timestamp] AS StartTime,
MIN(yt2.[timestamp]) AS EndTime,
DATEDIFF(s, yt1.[timestamp], MIN(yt2.[timestamp])) AS DifferenceInSeconds
FROM
yourTable yt1
LEFT JOIN yt2 ON yt1.[timestamp] < yt2.[timestamp]
WHERE
yt1.Col1 IS NULL
OR yt1.Col2 IS NULL
...
OR yt1.Col20 IS NULL
OR yt2.Col1 IS NULL
...
OR yt2.Col20 IS NULL
GROUP BY yt1.[timestamp]
同じクエリで、現在の出力は次のようになります
18-05-2012 20:07
18-05-2012 20:17
18-05-2012 20:27
18-05-2012 20:37
などには10分のギャップがあり、連続したギャップは開始時間として18-05-2012 20:07、終了時間として18-05-2012 20:37、分単位のギャップが表示されます40。