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



我有两列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)

使用转换函数

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

添加值后转换值:

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

小数点算术表达式结果的小数位数和精度的规则是......弄复杂。 如果您知道想要什么类型,则只需将结果转换为适当的类型即可。

最新更新