【问题标题】:SSIS - Data Conversion from DT_STR to intSSIS - 从 DT_STR 到 int 的数据转换
【发布时间】:2017-04-01 02:17:03
【问题描述】:

如何在 SSIS 数据流任务中应用以下转换

cast(gift_amount as int)/100

在派生列转换编辑器中,我无法更改数据类型。它在提供typecast 函数时给出0xC0049064 错误。

【问题讨论】:

    标签: sql-server ssis etl ssis-2012 bids


    【解决方案1】:

    你应该试试

    ((DT_I4)gift_amount)/100
    

    此外,在派生列编辑器窗口中,您可以添加其他类型的强制转换 - 查看编辑器右上角的一些选项。

    【讨论】:

      【解决方案2】:

      您可以使用script component 来实现这一点

      1. 添加Script Component
      2. 将gift_amount标记为输入列
      3. 添加十进制或浮点类型的输出列(例如outColumn)
      4. 添加以下代码:(使用 vb.net)

        If Not Row.giftamount_IsNull AndAlso
           Not String.IsNullOrEmpty(Row.giftamount) Then
        
            Row.outColumn = CDec(CInt(Row.giftamount) / 100)
        
        Else
        
            Row.outColumn_IsNull = True
        
        End If
        

      【讨论】:

        猜你喜欢
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 2019-08-20
        • 2021-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多