0

我运行以下查询.....

SELECT SUM(PAPostedTotalCostN) AS Total_Cost 
FROM PA01201
WHERE PA01201.PAcontid = '00900'

返回值12169298.25000

让查询将任何数字返回到小数点后两位的最简单方法是什么?

使用相同的返回值作为示例我希望看到数字显示为12169298.25

该查询将用于根据“PAcontid”返回许多数字,因此我需要将“PAPostedTotalCostN”的整个列保留到小数点后 2 位

非常感谢任何帮助。

4

5 回答 5

6
SELECT CONVERT(DECIMAL(10,2),SUM(PAPostedTotalCostN)) AS Total_Cost 
FROM PA01201
WHERE PA01201.PAcontid = '00900'
于 2012-06-21T16:36:30.763 回答
2

你可以试试:

CAST(PAPostedTotalCostN AS Numeric(12, 2))
于 2012-06-21T16:27:21.607 回答
0
SELECT u.name, CAST( SUM( e.amount * er.tlkarsiligi ) AS DECIMAL( 10, 2 ) ) from ..

因为它适用于 Mysql

于 2013-11-18T08:46:57.643 回答
0

http://msdn.microsoft.com/en-us/library/ms175003.aspx

您可以使用 ROUND 功能:

ROUND ( numeric_expression , length [ ,function ] )
于 2012-06-21T16:34:15.347 回答
0

你可以CAST是 2 位的小数:

select CAST(PAPostedTotalCostN as decimal(20, 2))

例子:

declare @t as decimal(20, 5)
set @t = 12169298.250000

select cast(@t as decimal(20, 2))

结果:

12169298.25

如果值可以舍入,这将舍入结果,如果您不希望它被舍入:

select cast(round(@t, 2, 1) as decimal(20, 2))
于 2012-06-21T16:37:15.943 回答