C# 是否在SQL Server中将datetime列转换为datetime2列?
我有一个SQL Server 2005数据库,其中有一个C# 是否在SQL Server中将datetime列转换为datetime2列?,c#,sql-server,C#,Sql Server,我有一个SQL Server 2005数据库,其中有一个datetime列。表中已经有数据,但现在客户需要1753年之前的日期。因此,我决定将数据库迁移到SQL Server 2008,以使用datetime2类型 但是,我不能将列的类型从datetime切换到datetime2。是否有方法进行此转换或我必须重新导入数据 谢谢, 丹尼尔 但是我不能只是换一种类型 从datetime到的列的 日期时间 当然可以,使用altertable TableNAme ALTER column ColumnN
datetime
列。表中已经有数据,但现在客户需要1753年之前的日期。因此,我决定将数据库迁移到SQL Server 2008,以使用datetime2
类型
但是,我不能将列的类型从datetime
切换到datetime2
。是否有方法进行此转换或我必须重新导入数据
谢谢,
丹尼尔
但是我不能只是换一种类型
从datetime到的列的
日期时间
当然可以,使用altertable 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
我要问:为什么他们需要1753年之前的日期?这是一个关于历史文本和字母的数据库。为什么你不能改变类型
alter table table name alter column column name datetime 2
?@TheQuant-我想您在处理这些日期时会注意到公历问题。(如果我不只是想提一下的话!)他们在这里采访。如果您的列具有依赖项,例如索引和约束,那么就没有那么简单了。除了删除并重新创建这些,没有其他方法。