列小数点值

时间:2012-06-21 16:22:43

标签: sql sql-server sql-server-2008 decimal

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

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

返回值12169298.25000

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

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

查询将用于返回基于'PAcontid'的多个数字,因此我需要将'PAPostedTotalCostN'的整列列为2位小数

任何帮助非常感谢。

5 个答案:

答案 0 :(得分:5)

SELECT CONVERT(DECIMAL(10,2),SUM(PAPostedTotalCostN)) AS Total_Cost 
FROM PA01201
WHERE PA01201.PAcontid = '00900'

答案 1 :(得分:2)

您可以尝试:

CAST(PAPostedTotalCostN AS Numeric(12, 2))

答案 2 :(得分:0)

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

您可以使用ROUND功能:

ROUND ( numeric_expression , length [ ,function ] )

答案 3 :(得分: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))

答案 4 :(得分:0)

SELECT u.name, CAST( SUM( e.amount * er.tlkarsiligi ) AS DECIMAL( 10, 2 ) ) from ..

For It适用于Mysql