我遇到SSIS中派生列计算没有返回正确值的问题。为了给出一些背景知识,由于出现溢出问题(已解决),我不得不更改计算格式,请参阅此处 - SSIS - Derived Column Calculation Error
现在,旧计算和新计算在SSIS中返回不同的值,即使它们在数学上都相同,并且在.net,excel和SQL中执行时返回相同的值。
在.Net -
decimal test1 = Convert.ToDecimal((415 * 415 * 415) * 0.000000030940000);
decimal test2 = Convert.ToDecimal((0.000000030940000 * 415 * 415 * 415));
均返回2.2113862225
在SSIS中 -
test1 = ((415 * 415 * 415) * 0.000000030940000)
test2 = (0.000000030940000 * 415 * 415 * 415)
返回不同的值(test1 = 2.2113862225和test2 = 2.211535)
有趣的是,SSIS将test1视为数字(38,6),将test2视为数字(27,15)....
之前有没有人遇到过这个问题?
我真的不想重新考虑整个包使用.net计算,但这将是我最后的解决方案。
答案 0 :(得分:0)
如果其他人遇到此问题 - 我找不到解决方案但确实实施了解决方法 -
而不是在派生列中进行计算 -