【发布时间】:2020-10-16 18:09:07
【问题描述】:
我们收到一个 csv 文件,其中有一列采用这种日期格式 -- Wed Oct 14 08:00:00 CDT 2020,以及一个包含每个日期/时间计数的列
我正在使用 SSIS 包来抓取文件并将这些数据导入到 sql 表中,然后我可以按照我需要的方式对其进行格式化,然后以所需的格式实际导出数据。
如果有一种方法可以在一个 SSIS 包中完成这一切,我会全力以赴,但目前我正在努力将数据转换为 SQL 并转换为正确的格式,以便我可以将其导出。
我需要获取该文件并转换该日期格式并将其分成两个单独的列
一列将是这种格式的日期 2020-10-14 00:00:00.000
一列将是这种格式的时间 08:00:00.0000000
已更新以更改日期以匹配,因此它不会那么混乱,而且我在运行下面建议的代码时收到的错误。
Image of table with the data I am trying to convert
Screenshot of the error I receive when running the query by Aaron.
【问题讨论】:
-
您必须编写代码来解析这个自定义且坦率地说相当不寻常的字符串。什么是 CDT?古巴夏令时间?时区abbreviations 不明确且未标准化。也至少有 3 个 IST 和 BST
-
如果您编写了 C# 脚本转换,您可以解析每个元素除了时区缩写
-
您没有正确实现我的查询,仅此而已。您需要将原始
TRY_CONVERT应用到表中,然后从中提取日期和时间。在您的实现中,您将TRY_CONVERT应用于变量,但随后仍尝试从原始表中未更改的值中提取日期和时间。那是我的错 - 我没有在解决方案中包含表格,因为您最初没有提供表格/列名。请查看我的更新答案。 -
成功了!你是上帝派来的!!!!非常感谢你! @AaronBertrand
-
@AaronBertrand 我不想再打扰你了....但是我怎样才能让“封面”列使用新的格式化字段?
标签: sql-server ssis date-conversion