2

谁能告诉我,

如何在 SQL Server 2008 R2 中7.3050进行ROUND?7.3000

我努力了 :

  Select ROUND(7.3050,2)

结果 :7.31

但我需要结果:7.30

4

3 回答 3

3

你可以FLOOR这样使用函数:

FLOOR(7.30502 * 100) / 100

如果可以更改零的数量以将其四舍五入到所需的位数。

于 2013-06-17T12:23:43.467 回答
0

你得到什么取决于你如何开始。数据类型很重要。

create table test (
  n decimal(10, 4) not null,
  r float not null
  );

insert into test values (7.3050, 7.3050);

select round(n, 2) as n_rounded,
       round(r, 2) as r_rounded
from test;

N_ROUNDED  R_ROUNDED
--
7.31       7.3

你所说的圆形也很重要。当您谈论将 7.3050“四舍五入”到 7.30(假设为十进制数据类型)时,您可能并不是真的在谈论四舍五入。(我们无法确定。)您可能想要截断到小数点后一位——您想要将 7.300 到 7.309 之间的所有值映射到 7.3。

insert into test values (7.3000, 7.3000);
insert into test values (7.3090, 7.3090);

select round(n, 2, 1) as n_trunc,
       round(r, 2, 1) as r_trunc
from test;

N_TRUNC  R_TRUNC
--
7.3      7.3
7.3      7.29
7.3      7.3

请注意浮动列的行为。

于 2013-06-17T12:46:59.323 回答
0

您可以使用此查询:

Select ROUND(7.3050,1)

结果是 7.3000

于 2014-07-28T12:05:08.490 回答