Вы можете быть очень явным и использовать DATETIMEFROMPARTS
и SUBSTRING
.
declare @dt_string varchar(100) = right('Relabels for 10-19-2019 15-16-24', (8+2)+1+(6+2));
select DATETIMEFROMPARTS(
SUBSTRING(@dt_string,7,4), -- year
SUBSTRING(@dt_string,1,2), -- month
SUBSTRING(@dt_string,4,2), -- day
SUBSTRING(@dt_string,12,2), -- hour
SUBSTRING(@dt_string,15,2), -- minute
SUBSTRING(@dt_string,18,2), -- second
0 -- millisecond
) as dt_parsed;
dt_parsed
2019-10-19 15:16:24.000