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 如何将列的数据类型从位更改为日期字段?的主要内容,如果未能解决你的问题,请参考以下文章

SQL server 数据类型 - Date VS Varchar(n)

如何将列的当前值与sql server和Oracle中同一列的先前值进行比较

SQL Server:检查列的数据类型

如何只修改一次sql server ce的列数据类型的长度?

使用 C# 获取 SQL Server 列的数据类型

如何使用 Java 将列的时间戳(6)数据类型值从​​数据库提取到 csv 或在控制台上显示?