我有一个与其他表连接的表EMP
。在查询中,我曾经这样获得SAL
的总和。我希望此总和四舍五入到小数点后两位,但要给小数点后四位。在SAL
表中将CHAR(9)
声明为EMP
。
COALESCE(CAST(SUM(CAST(SAL AS INT))/12 AS DECIMAL(13,2)), 0) as "SUM-SAL"
输出显示为29364852.000000,但我希望将其四舍五入为小数点并以逗号分隔。
答案 0 :(得分:0)
您可以使用format
示例
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')
答案 1 :(得分:0)
我认为这就是您要寻找的东西。
DECLARE @test char(9) = '29364852.00'
SELECT Format(cast(@test as decimal(10, 2)), '##,##.#0')
结果:29,364,852.00
答案 2 :(得分:0)
您可以尝试以下查询。
DECLARE @test DECIMAL(18,6) = 123.456789
Select cast(@test as decimal(10, 2))
或
DECLARE @test char(10) = '123.456789'
Select cast(@test as decimal(10, 2))
答案 3 :(得分:0)
这应该做到:
<a>
请注意,我将<span>
更改为SELECT FORMAT(COALESCE(SUM(CAST(SAL AS DECIMAL(9, 0))) / 12, 0), 'N2')
。您必须更改CAST(... AS INT)
以匹配char列中的大小和十进制数字。