【问题标题】:How to convert string with comma to decimal in SSIS?如何在SSIS中将带逗号的字符串转换为十进制?
【发布时间】:2021-04-26 18:14:46
【问题描述】:

我得到了最后带有逗号的字符串价格,我必须把它变成十进制(10,2)。

我尝试将其转换为具有相同精度和比例的数字,但仍然给我带来潜在数据松散的错误。

错误:Przychód 处的 0xC02020C5,数据转换 2:将列“pr_kwota”(46) 转换为列“pr_kwota 的副本”(10) 时数据转换失败。转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”。

来自平面文件的数据(str 50)

我想做什么:

【问题讨论】:

    标签: ssis


    【解决方案1】:

    您可能需要使用转换“派生列”而不是“数据转换”,问题可能是空格和逗号,因此您可以在派生列转换中使用此函数:

    (DT_NUMERIC,10,2)(REPLACE(REPLACE(pr_kwota," ",""),",",".")) 
    

    【讨论】:

    • 不必额外将数据转换为 DT_NUMERIC,删除逗号和空格后它会自动转换它。先生,感谢您抽出宝贵的时间。
    猜你喜欢
    • 2015-02-18
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多