declare @startTime datetime,  --开始时间
        @endTime   datetime   --结束时间
select @startTime='2005-9-1 03:10:09',
       @nedTime='2005-9-1 03:50:09'select [时长(秒)]=sum(
                  case when time_b>@startTime and time_e<@endTime
                       then datediff(second,time_b,time_e)
                       when time_b<@startTime and time_e>@endTime
                       then datediff(second,@startTime_b,@endTime)
                       when time_b>@startTime and time_e>@endTime
                       then datediff(second,time_b,@endTime)
                       when time_b<@startTime and time_e<@endTime
                       then datediff(second,@startTime,time_e)
                       else 0
                  end
                 )
from Tab