将SQL Server中的datetime列转换为datetime2列

本文关键字:转换 datetime2 datetime SQL Server 中的 | 更新日期: 2023-09-27 17:49:27

我有一个SQL Server 2005数据库与datetime列。表格中已经有数据了,但是现在客户需要1753年之前的数据。因此,我决定将数据库迁移到SQL Server 2008以使用datetime2类型。

然而,我不能仅仅将列的类型从datetime切换到datetime2。是否有方法进行此转换,或者我必须重新导入数据?

谢谢你,丹尼尔

将SQL Server中的datetime列转换为datetime2列

但是我不能只是切换类型从datetime到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