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

标签 sql sql-server tsql datetime alter-table

我正在尝试将表字段(其中包含一些行)从 DateTime 更改为 DateTime2(3)

但是 SQL Server Management Studio 提示我删除并重新创建了该表。

但是为什么呢?

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

最佳答案

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

SSMS 习惯于重新创建您所做的几乎所有更改。只用这样的东西改变列数据类型应该就可以了。

alter table TableName alter column ColName datetime2(3)

关于sql - 为什么 SQL Server 强制我删除表才能将字段从 DateTime 更改为 DateTime2(3)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668809/

相关文章:

mysql - ASP.NET 和 MySql

sql - 递归 CTE 错误 : Types do not match

c# - 在 .net core 3.0 上运行集成服务 SSIS

sql - IIF(...) 不是公认的内置函数

sql - auto_increment 导致 CREATE TABLE 出错

python - 如何选择 groupby 中空值最少的组?

sql-server - 在 SQL Server 中将字符串转换为大写

sql - 在 T-SQL 中添加缺失的月份

sql - 根据其他表中的两个日期选择值?

SQL 以不同的时间间隔选择行