修改SQL Server中的列数据类型



我有这个列EndDate(日期,null),它在一个空表中。

我正试图将其类型更改为INT,使用以下代码:

ALTER TABLE [Schema].[Table] 
ALTER COLUMN [EndDate] INT NULL;

在本例中,实际的模式名和表名被修改为'schema'和'table'。

这是我得到的错误:

Msg 206, Level 16, State 2, Line 42
操作数类型冲突:date与int

不兼容

有人知道这是为什么吗?

谢谢!

如果是空表,确实会出现这个错误。

有人知道为什么吗?

只是一个实现细节。ATLER COLUMN在开始实际转换列数据的过程并发现没有行之前检查类型转换兼容性。

最新更新