SQL Server 2012 如何将列的数据类型从位更改为日期字段?

SQL Server 2012 How to change the data type of a column from bit to datefield?

我有一个 table Person,其中有一列名为 onvacation。 此列的数据类型为 bit,因为它在代码中是布尔值。它的值为 null、0 和 1。

我想将此列的数据类型从 bit 更改为 datetime,以便所有为 1 的值都转换为新日期(可以是当前日期)。 0 和 null 值都只是 null。

我试着按照 w3bschool 的教程进行了查询:

ALTER TABLE Person ALTER COLUMN onvacation datetime

但是会报错'DF____Person__onvac__59062A42' is dependent on column 'onvacation'.

你得到这个错误是因为 DF____Person__onvac__59062A42 sql 对象依赖于 onvacation 列。

您可以通过右键单击-->查看依赖项

找到人table的依赖项

删除该依赖对象并尝试更改列