首页 > 解决方案 > 如何将 Char(16) 列转换为 Date Datatype 列?

问题描述

我将一个 CSV 文件(200 万条记录)导入 derby 数据库,但总是难以将包含以下内容的列导入:“2002-09-06 00:00”作为 TIMESTAMP 数据类型。因此,我将数据库列更改为 Char(16) 而不是 TIMESTAMP,并且能够导入文件而不会出现错误。

现在我想将具有 200 万条记录的 Char(16) 列转换为 DATE 数据类型列,或者将其复制并转换为具有 DATE 数据类型的新列。或者你能想出的任何其他解决方案!

我在想这样的事情

CONVERT(DATE, 101) 

但我不知道如何将它与已经存在的列连接起来。我真的很讨厌 SQL。

帮助将不胜感激!

非常感谢!

标签: sql

解决方案


SQL Server 非常适合转换日期/时间。所以你可以使用:

convert(datetime, '2002-09-06 00:00')

或者更好:

try_convert(datetime, col)

我建议将数据加载到临时表中。然后将其在数据库中转换为您想要的结构。这样,您可以调查任何转换问题(或其他转换问题),因为您已加载数据。


推荐阅读