我的数据集包含一个列,其中包含“varchar”数据类型中的日期和时间,如下所示:
2009 年 4 月 23 日 11:34:01
上述列的数据类型是varchar,我想问我如何将数据类型更改为“时间戳”。
我的数据集包含一个列,其中包含“varchar”数据类型中的日期和时间,如下所示:
2009 年 4 月 23 日 11:34:01
上述列的数据类型是varchar,我想问我如何将数据类型更改为“时间戳”。
我会在表中添加一个新的目标类型的 NULLable 列。
然后,您可以尝试根据数据的幼稚解析来填充列数据库。
然后,您可以运行 SELECT 将原始日期字符串与新日期字符串进行比较,但也可以使用输出格式化程序函数,以便字符串应该是相同的。然后让 SQL 使用 HAVING 子句比较这两个值。
一旦您有了能够转换现有数据的解决方案。
你应该努力改变策略。这可能需要更改软件。这可以通过首先确保 INSERT、UPDATE 将数据保存在 BOTH 列中的所有数据来完成。
然后,您对所有现有数据运行转换过程。
此时,对数据库的所有更改都应始终保持旧列和新列。也许您需要审核/运行系统一段时间以确保所有内容都被捕获,因为您现在可以随时重新运行比较/验证步骤。
然后,您可以处理 SELECT 用例。然后最后实际删除 VARCHAR 列。
所有这一切的重点是一个受控的逐步过程,其中有回滚选项并在每次更改之间进行测试。