Желательно хранить значения в правильном типе данных, т. Е. Datetime или datetime2 (как предложено @Dale K.
. Я бы посоветовал вам выполнить следующие шаги.
- Создать новую таблицу с двумя столбцами: PrimaryKeycolumn, NewDateTime column
CREATE TABLE data_copy(PKColumn INT, NewDatetimeColumn DATETIME2);
Загрузка данных в data_copy из исходной таблицы данных
INSERT INTO data_copy(PKColumn, NewDatetimeColumn)
SELECT PKColumn, DATEADD(second, [datetime] / 1000, '1970-01-01')
FROM [database].[dbo].[data];
Теперь обновите столбец даты и времени до значения NULL
UPDATE [database].[dbo].[data]
SET [datetime]= NULL;
Теперь измените тип данных на DATETIME
--IF not null set accordingly
ALTER TABLE [database].[dbo].[data] ALTER COLUMN [datetime] DATETIME2 NULL;
Теперь обновите значения даты и времени из таблицы копирования
UPDATE d
SET d.[datetime] = c.datetimecolumn
FROM [database].[dbo].[data] AS d
JOIN [database].[dbo].[data_copy] AS c
ON d.PKColumn = c.PKColumn