Преобразовать столбец datetime в столбец datetime2 в SQL Server?

У меня есть база данных SQL Server 2005 с столбцом datetime. В таблице уже есть данные, но теперь пользователям нужны даты до 1753. Поэтому я решил перенести базу данных на SQL Server 2008, чтобы использовать тип datetime2.

Однако я не могу просто переключить тип столбца с datetime на datetime2. Есть ли способ сделать это преобразование или я должен reimport данных?

Спасибо,

Daniel

Ответы

Ответ 1

Однако я не могу просто переключить тип столбца от datetime до Дата и время

Конечно, вы можете использовать ALTER TABLE TableNAme ALTER column ColumnNAme datetime2

Пример

USE tempdb
GO

CREATE TABLE Test(SomeDate DATETIME)
INSERT Test values (GETDATE())

SELECT * FROM Test
GO

ALTER TABLE Test ALTER column SomeDate datetime2
GO

INSERT Test values ('16000101')

SELECT * FROM Test
GO