在SQL Server中将datetime列转换为datetime2列?

时间:2011-04-07 13:12:46

标签: c# sql-server

我有一个带有datetime列的SQL Server 2005数据库。表中已有数据,但现在客户需要1753年之前的日期。所以我决定将数据库迁移到SQL Server 2008以使用datetime2类型。

但是,我无法将列的类型从datetime切换为datetime2。有没有办法进行这种转换,还是我必须重新导入数据?

谢谢,

丹尼尔

1 个答案:

答案 0 :(得分:30)

  

但是我不能只是改变类型   从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