DECLARE @dt DATETIME, @appttime CHAR(4)SELECT @dt = GETDATE(), @appttime = '0730'SELECT @dt ,@appttime ,DATEADD(MINUTE, CAST(RIGHT(@appttime,2) AS INT) ,DATEADD(HOUR, CAST(LEFT(@appttime,2) AS INT), @dt))
create table #CheckIn( check_in datetime, appt_time char(4))insert #CheckInselect '1911-03-02T14:00:00.000', '1300' union allselect '1911-03-02T14:00:00.000', '0950'select *from #CheckIn
;with cte as( select check_in, appt_time, dateadd(n, CAST(right(appt_time, 2) as int), dateadd(hh, cast(left(appt_time, 2) as INT), dateadd(dd, datediff(dd, 0, check_in), 0))) as AppointmentTime from #CheckIn)select *, DATEDIFF(n, check_in, AppointmentTime) from cte
SELECT *, WaitTime=DATEDIFF(minute ,CAST(check_in AS TIME) ,CAST(STUFF(appt_time, 3, 0, ':') AS TIME))FROM #CheckIn