1

我的数据集包含一个列,其中包含“varchar”数据类型中的日期和时间,如下所示:

2009 年 4 月 23 日 11:34:01

上述列的数据类型是varchar,我想问我如何将数据类型更改为“时间戳”。

4

1 回答 1

0

我会在表中添加一个新的目标类型的 NULLable 列。

然后,您可以尝试根据数据的幼稚解析来填充列数据库。

然后,您可以运行 SELECT 将原始日期字符串与新日期字符串进行比较,但也可以使用输出格式化程序函数,以便字符串应该是相同的。然后让 SQL 使用 HAVING 子句比较这两个值。

一旦您有了能够转换现有数据的解决方案。

你应该努力改变策略。这可能需要更改软件。这可以通过首先确保 INSERT、UPDATE 将数据保存在 BOTH 列中的所有数据来完成。

然后,您对所有现有数据运行转换过程。

此时,对数据库的所有更改都应始终保持旧列和新列。也许您需要审核/运行系统一段时间以确保所有内容都被捕获,因为您现在可以随时重新运行比较/验证步骤。

然后,您可以处理 SELECT 用例。然后最后实际删除 VARCHAR 列。

所有这一切的重点是一个受控的逐步过程,其中有回滚选项并在每次更改之间进行测试。

于 2012-11-18T13:25:41.260 回答