Вы можете заполнить его необходимыми пробелами и двоеточиями:
select
stuff(stuff(stuff('20100101000000',9,0,' '),12,0,':'),15,0,':') STR,
convert(datetime,stuff(stuff(stuff('20100101000000',9,0,' '),12,0,':'),15,0,':')) DT;
Результат будет
STR | DT
20100101 00:00:00 | 2010-01-01 00:00:00.000
Первый показывает строку, в которую он преобразован, второй - дата и времязначение.Обратный ход
select
convert(char(8),getdate(),112) + replace(convert(varchar(30),getdate(),108),':','');
Замените константы «20100101000000» и «getdate ()» именами полей, где это необходимо при выборе из таблицы.