我有一个带有datetime
列的SQL Server 2005数据库。表中已有数据,但现在客户需要1753年之前的日期。所以我决定将数据库迁移到SQL Server 2008以使用datetime2
类型。
但是,我无法将列的类型从datetime
切换为datetime2
。有没有办法进行这种转换,还是我必须重新导入数据?
谢谢,
丹尼尔
答案 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