一如既往,请耐心等待我的英语,如果您不明白,请询问,我会尽力表达自己。
我需要使用SSIS对具有多个数字(正整数和负整数,无小数)的列求和。 在SQL表中,最长的数字是:
-569600895
但是当我使用SSIS(oledb source)获取列时,返回:
-5696008.95(METADATA输出:数字(15,2))
数据流:
错误整个总和......¿我怎样才能取小数点并留下完整的数字(如数字(20,0))?如果我乘以列* 100,将使正确的数字出错(10到1000)
SQL查询(CTACTE MES ACT)
SELECT MONTO_TRANSAC, RUT_CLIE
FROM BDGESTION.TRANS_CTACTE_STGO_DIC11
WHERE ((COD_TRANSAC = 305) OR
(COD_TRANSAC = 451) OR <many OR>
SQL查询(RUT CRUZADOS)
SELECT RUT_CLIE
FROM dbo.CRUZADOS
RUT_CLIE是我的合并连接键,MONTO_TRANSAC它是我需要求和的数值(15,2)
编辑:部分解决方案
我使用新的派生列修复了问题,我使用这个公式:
(FLOOR(MONTO_TRANSAC) - MONTO_TRANSAC) == 0 ? MONTO_TRANSAC : MONTO_TRANSAC * 100
例如,如果数字是11.00,将保持这样,但如果数字是11.25将乘以100,将数字保留为1125。