如何将Char(16)列转换为Date数据类型列?

时间:2019-04-28 17:54:21

标签: sql

我将CSV文件(200万条记录)导入了derby数据库中,但始终难以将具有以下内容的列导入:2002-09-06 00:00作为TIMESTAMP数据类型。因此,我将数据库列更改为Char(16)而不是TIMESTAMP,并且能够导入文件而没有错误。

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

我在想像这样的东西

CONVERT(DATE, 101) 

但是我不知道如何将其与现有的列连接起来。我真的很讨厌SQL。

我们将不胜感激!

非常感谢您!

1 个答案:

答案 0 :(得分:1)

SQL Server在转换日期/时间方面非常出色。因此,您可以使用:

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

或更妙的是:

try_convert(datetime, col)

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