dre*_*att 2 sql sql-server ssis sql-server-2008
我在SSIS查询中选择的列之一TransTotal
,具有如下值:
----
4615
3845
8706
8725
4205
----
Run Code Online (Sandbox Code Playgroud)
我的派生列,我需要插入一个小数,所以我添加了这个表达式:
(DT_NUMERIC,10,2)(TransTotal / 100)
Run Code Online (Sandbox Code Playgroud)
期待结果看起来像:
-----
46.15
38.45
87.06
87.25
42.05
-----
Run Code Online (Sandbox Code Playgroud)
但相反,他们看起来像:
-----
46.00
38.00
87.00
87.00
42.00
-----
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果TransTotal
是INT
,那么你的代码当前首先执行整数除法(TransTotal / 100
意思是8725/100等于87,因为它是一个整数),然后将其转换为a NUMERIC
.您需要先转换TransTotal
为NUMERIC
然后执行除法:
((DT_NUMERIC,10,2) TransTotal) / 100
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1100 次 |
最近记录: |