使用SQL将现有数据的数据类型从Char转换为DateTime

时间:2011-05-23 19:19:05

标签: sql sql-server

我是SQL Server的新手,我正在尝试将CharDatetime的大约3000条记录的数据类型更新,因此我可以使用DATEDIFF函数。我创建了一个实现转换的视图,但我认为我需要做的是更改origin表中的数据。

SELECT
  CONVERT(datetime, CONVERT(char(8), TRANS_ACCOUNTINGDATE_ALLCAMPAIGNS_2010_ALLPROCESSINGACCOUNTS_ALL)) 
FROM Accounting;

我认为我需要做的是一个alter table并迭代执行转换的每一行。尝试使用GUI更改数据类型对我不起作用。

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

数据类型是COLUMN的属性,而不仅仅是列中的数据。您无法将datetime数据放入char字段 - 这就是数据类型的目的!

您需要添加一个新字段并运行UPDATE语句以使用转换后的数据填充它。然后,您可以删除原始字段并将新字段重命名为原始名称。