4

我运行一个查询,我的所有数字都精确到小数点后 5 位:

例如 -

156713.55000
2103613.03000
2080.08000

是否有一段简单的代码可以添加到我的代码中,以便“成本”表结果精确到小数点后 2 位?

4

2 回答 2

11

以下示例将对您有所帮助。

带四舍五入:

select ROUND(55.4567, 2, 0)
-- Returns 55.4600

select CAST(55.4567 as decimal(38, 2))
-- Returns 55.46

不四舍五入:

select ROUND(55.4567, 2, 1)
-- Returns 55.4500

select CAST(ROUND(55.4567, 2, 1) as decimal(38, 2))
-- Returns 55.45

或者

使用Str()功能。它需要三个参数(数字、要显示的总字符数和要显示的小数位数

  Select Str(12345.6789, 12, 3)

显示:“12345.679”(3 个空格、5 个数字 12345、一个小数点和三个小数位 (679)。 - 如果必须截断,则舍入

共 12 个字符,小数点右边 3 个字符。

于 2012-05-17T12:02:34.657 回答
5

只需使用以下ROUND功能:

SELECT ROUND(column, 2) FROM Cost

或者去除小数和四舍五入,使用CAST

SELECT CAST(column as decimal(10, 2))
于 2012-05-17T12:01:56.183 回答