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

Posted

技术标签:

【中文标题】SQL Server 2012 如何将列的数据类型从位更改为日期字段?【英文标题】:SQL Server 2012 How to change the data type of a column from bit to datefield? 【发布时间】:2015-08-25 07:28:30 【问题描述】:

我有一个表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'.

【问题讨论】:

【参考方案1】:

您收到此错误是因为 DF____Person__onvac__59062A42 sql 对象取决于 onvacation 列。

右键-->查看依赖关系

可以找到Person表的依赖关系

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

【讨论】:

以上是关于SQL Server 2012 如何将列的数据类型从位更改为日期字段?的主要内容,如果未能解决你的问题,请参考以下文章