Sql SSIS派生列舍入值

Sql SSIS派生列舍入值,sql,sql-server,sql-server-2008,ssis,Sql,Sql Server,Sql Server 2008,Ssis,我在SSIS查询中选择的一列,TransTotal,其值如下: ---- 4615 3845 8706 8725 4205 ---- 在我的派生列中,我需要插入一个十进制数,因此我添加了以下表达式: (DT_NUMERIC,10,2)(TransTotal / 100) 预期结果如下所示: ----- 46.15 38.45 87.06 87.25 42.05 ----- ----- 46.00 38.00 87.00 87.00 42.00 ----- 但实际上,它们看起来像: ---

我在SSIS查询中选择的一列,
TransTotal
,其值如下:

----
4615
3845
8706
8725
4205
----
在我的派生列中,我需要插入一个十进制数,因此我添加了以下表达式:

(DT_NUMERIC,10,2)(TransTotal / 100)
预期结果如下所示:

-----
46.15
38.45
87.06
87.25
42.05
-----
-----
46.00
38.00
87.00
87.00
42.00
-----
但实际上,它们看起来像:

-----
46.15
38.45
87.06
87.25
42.05
-----
-----
46.00
38.00
87.00
87.00
42.00
-----

我做错了什么?

如果
TransTotal
INT
,那么您的代码当前正在执行一个整数除法(
TransTotal/100
,这意味着8725/100等于87,因为它是一个整数),然后将其转换为
数值。您需要首先将
TransTotal
转换为
NUMERIC
,然后执行除法:

((DT_NUMERIC,10,2) TransTotal) / 100