Я не уверен, что ваш текущий литерал datetime попадает в любую маску, которую может распознать SQL Server.Но мы можем попытаться использовать TRY_CONVERT
здесь, заменив средний тире пробелом:
SELECT TRY_CONVERT(datetime, STUFF(@input, 11, 1, ' ')) AS output;
18/12/2018 03:14:48
Демо
Редактировать:
Если вы используете более раннюю версию SQL Server, которая не поддерживает TRY_CONVERT
, то мы можем явно попытаться использовать CONVERT
:
SELECT CONVERT(datetime, STUFF(@input, 11, 1, ' ')) AS output;