如何舍入浮点值

时间:2012-07-04 08:11:31

标签: sql sql-server sql-server-2000

表1

Id value

001 2.3
002 1.3
003 3
004 5.3
...
...

值列数据类型为float

注意:

值列始终为.3,不会像.1, .2, .4, .5 to .9

现在我想为所有值显示.5而不是.3 ...

预期产出

Id值

001 2.5 
002 1.5
003 3
004 5.5
...
...

如何对此进行查询。

需要SQL查询帮助

2 个答案:

答案 0 :(得分:2)

使用Round功能获取结果

 Declare @Sample Table
 (ID int ,
 value float)

 Insert into @Sample
 values
(001,2.3),(002,1.4),(003,3),(004,5.3)

 Select ID,round(value/5,1)*5 from @Sample

如果该值大于.3则将四舍五入为.5,如果小于.3,则将检索整数值

答案 1 :(得分:0)

您可以使用floor函数来确定是否存在小数组件

请尝试以下查询

update table1 set value = value + 0.2 
where value > floor(value);