无法转换为数字数据类型(SSIS)

时间:2013-07-05 18:50:46

标签: casting ssis numeric bids

不幸的是,没有人真正了解这个源数据库,所以当我被告知传入的数据是FLOAT时,看起来并非如此。

我有一个带有某种数值数据类型的传入字段,其值为101.15000000000001

我需要将它转换为numeric(6,4)类型的SQL目标列。问题是无论我尝试什么转换,我都会继续获得类型转换错误(0x80004005或0xc0049064)。我目前对该领域的表达是:

 (DT_NUMERIC,6,4)MY_FIELD

当我尝试使用此类型在SQL中转换值时,我得到算术溢出错误,所以我尝试了

 (DT_NUMERIC,6,2)MY_FIELD

这有效地在SQL中截断,但是,我仍然在SSIS中出错。关于如何截断或舍入此值并将其转换为数字(6,4)数据类型的任何想法?

1 个答案:

答案 0 :(得分:0)

在两个操作中尝试:

string x = my_field
float y = (float)x

或float.Parse(x)