gpt4 book ai didi

sql-server - 将字符串转换为 Int SSIS

转载 作者:行者123 更新时间:2023-12-03 11:20:37 26 4
gpt4 key购买 nike

我有一个 string 原始源和目标表它是十进制(5,2),我尝试用规则改变它

enter image description here

但是当我运行任务时它总是失败,有人可以帮我看看那里出了什么问题吗?

更新

我也尝试了 (DT_DECIMAL,2)TRIM(NAME1) 但它仍然失败

最佳答案

任务失败可能是因为某些值无法转换(包含非数值)

在数据转换组件中,您可以将错误输出设置为 Ignore failure 然后如果 NAME1 无法转换为 DT_I8 新列值将为 NULL

enter image description here

您可以在这篇有用的博客文章中阅读更多内容:

另一种解决方法

您可以使用 script Component 而不是 Derived Column 实现此目的

只需添加一个脚本组件,添加一个DT_I8类型的输出列(假设它的名称是OutColumn)并将NAME1列标记为输入.

在脚本窗口中编写以下脚本(使用 Vb.Net):

Public Class ScriptMain  
Inherits UserComponent

Public Overrides Sub InputBuffer0_ProcessInputRow(ByVal Row As InputBuffer0)


Dim intValue as Int64

If Not Row.NAME1_ISNULL AndAlso
Not String.iSnullOrEmpty(Row.NAME1.Trim) AndAlso
Int64.TryParse(Row.NAME1.Trim, intValue) Then

Row.OutColumn = intValue

Else

Row.OutColumn_IsNull = True

End If

End Sub

End Class

关于sql-server - 将字符串转换为 Int SSIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43941251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com