将列从Date转换为Datetime Sql Server

gul*_*aek 9 sql sql-server ssms

我有一个名为的列Lastmodified,数据类型为Date,但应该是DateTime.

是否有任何转换列的方法?

当我使用SQL Server Management Studio的"设计"功能时,我收到以下错误:

不允许保存更改.您所做的更改需要删除并重新创建下表.

我真的不想删除表,我只是想知道是否可以将列转换DateDatetime或者是否必须删除列并创建具有正确数据类型的新列?

Dam*_*ver 28

它不应该删除表并重新创建它,除非该列参与一个或多个约束.

你可以使用SQL来做到这一点:

ALTER TABLE Tab ALTER COLUMN LastModified datetime2 not null
Run Code Online (Sandbox Code Playgroud)

(我选择datetime2datetime,因为前者被推荐用于所有新的开发工作,并且由于该列当前date,我知道你在SQL Server 2008或更高版本)


mar*_*c_s 5

这只是 SQL Server Mgmt Studio 中的安全设置 - 如果您喜欢冒险,可以将其关闭 :-)

在此处输入图片说明

禁用那里的复选框,您可以随心所欲!