this is how I formatted the time (using msdb.dbo.sysjobs though...). I am fairly new to more advanced SQL so hopefully I didn't waste too much time after seeing that above :crying:
,convert(datetime,case
when sjs.active_start_time = '0'
then '00:00:00'
when sjs.active_start_time < 1000
then '00'+':0'+substring(cast(sjs.active_start_time as varchar(6)),1,1)+':00'
when sjs.active_start_time < 10000
then '00'+':'+substring(cast(sjs.active_start_time as varchar(6)),1,2)+':00'
when sjs.active_start_time < 100000
then '0'+
substring(cast(sjs.active_start_time as varchar(6)),1,1)+':'+
substring(cast(sjs.active_start_time as varchar(6)),2,2)+':'+
substring(cast(sjs.active_start_time as varchar(6)),4,2)
when sjs.active_start_time >= 100000
then substring(cast(sjs.active_start_time as varchar(6)),1,2)+':'+
substring(cast(sjs.active_start_time as varchar(6)),3,2)+':'+
substring(cast(sjs.active_start_time as varchar(6)),5,2)
else null
end,108) as new_active_start_time
--select top 5 *
FROM msdb.dbo.sysjobs sj
left outer join msdb.dbo.sysjobschedules sjs
on sj.job_id = sjs.job_id
and sjs.enabled = 1