sql添加两列十进制数据类型

时间:2018-09-07 12:22:55

标签: sql sql-server tsql sum decimalformat

我有两列EY_AmountIncl_LC,EY_AmountExcl_LC,它们的数据类型为decimal(30,2)。结果我想添加两列,但在执行过程中我将得到以下结果

EY_AmountIncl_LC    EY_AmountExcl_LC    result
7000.00000          7000.00000          7000.000007000.00000

两列是串联的,但没有给出两列的和。期望的输出是

EY_AmountIncl_LC    EY_AmountExcl_LC    result
7000.00000          7000.00000          14000.00

我要根据供应商编号(另一列)进行分组

vendornumber       result
10000064            0.10
10000064            0.10
10000064            2000.00

我只需要获得一份记录,上面有一个供应商编号示例

vendornumber       result
10000064           sum(0.10+0.10+2000.00)

2 个答案:

答案 0 :(得分:0)

使用CONVERT函数

SELECT CONVERT(DECIMAL(18,2),EY_AmountIncl_LC)+
       CONVERT(DECIMAL(18,2),EY_AmountExcl_LC) AS result
FROM TABLE

答案 1 :(得分:0)

添加它们后转换值:

select cast(EY_AmountIncl_LC + EY_AmountExcl_LC as decimal(30, 2)) as result;

小数点后的算术表达式的结果的小数位数和精度规则为。 。 。复杂化。如果知道所需的类型,则将结果转换为适当的类型。