SSIS - 修复源数据中数据类型不正确的数据

Posted

技术标签:

【中文标题】SSIS - 修复源数据中数据类型不正确的数据【英文标题】:SSIS - Fixing data with an incorrect datatype in the source data 【发布时间】:2018-07-15 02:41:11 【问题描述】:

我是一个 SSIS 新手,我在尝试将我的包中应该是“持续时间”列的内容转换为秒时遇到了麻烦。

本质上,Excel 源数据列在 excel 中以 h:mm AM/PM 格式错误地键入为 TIME 数据类型(即,11 分钟的剧集显示为上午 11:00)

理想情况下,我想在我的数据库中将其转换为 int 数据类型中的秒数。解决此问题的最佳方法是什么?

【问题讨论】:

如果我理解正确的话,你需要从excel中抓取数据,把它写成'string',去掉不必要的后缀,然后推入db。有意义吗? 【参考方案1】:
    像这样创建 DFT:

    在派生列中使用以下内容: SUBSTRING(REPLACE((DT_STR,100,1252)Duration,":",""),1,4)

    Duration是我在excel中的列名,DT_Time类型(通过高级编辑器设置)

我实际上在做的是将时间转换为字符串,删除:,取前四个字符(hhmm)。

因此输出如下:

input      output

12:00:00AM  1200
12:30:00AM  1230

【讨论】:

太好了,我已经将我的数据转换为现在可用的东西,感谢 Prabhat G! @Bill 你必须accept his answer 如果它解决了问题 知道了,新手也来了!

以上是关于SSIS - 修复源数据中数据类型不正确的数据的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 数据类型的选择

SSIS - 检查 OLE DB 源架构

是否可以从SSIS源动态创建表

SSIS Design1: 源数据提取

SSIS:将不存在的列添加到 CSV 源

SSIS 数据类型 第二篇:变量的数据类型