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

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

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

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

【问题讨论】:

  • 如果我理解正确的话,你需要从excel中抓取数据,把它写成'string',去掉不必要的后缀,然后推入db。有意义吗?

标签: sql-server excel ssis sql-server-data-tools sqldatatypes


【解决方案1】:
  1. 像这样创建 DFT:

  1. 在派生列中使用以下内容: 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 如果它解决了问题
  • 知道了,新手也来了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
相关资源
最近更新 更多