为什么SQL Server强制我删除表以便能够将字段从DateTime更改为DateTime2(3)?

pen*_*ake 5 sql t-sql sql-server datetime alter-table

我试图改变表的字段-一些行它-从DateTimeDateTime2(3).

但是SQL Server Management Studio抱怨我已经删除并重新创建表.

但为什么?

是不是DateTime2(3)DateTime类型更精确?应该没问题,不应该吗?

Mik*_*son 6

SSMS中有一个设置可以让你做你想做的事情.菜单 - 工具 - 选项 - 设计师 - 防止保存需要表重新创建的更改.

SSMS习惯于重新创建几乎所做的任何更改.只使用这样的方法改变列数据类型应该没问题.

alter table TableName alter column ColName datetime2(3)
Run Code Online (Sandbox Code Playgroud)