舍入十进制值

时间:2018-02-16 20:41:18

标签: sql sql-server-2016

sql中是否有任何函数将值舍入为最接近的整数。

例如,

  • 如果值为12.56则应为13。
  • 如果值为12.34则应为12.

我试过天花板和地板,但它没有给我准确的结果。天花板给我的值为13,因为我需要13和12取决于我的价值。 是否有任何功能可以用来获得我想要的结果? 任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

我明白了。 我刚刚使用了ROUND(value,0),这给了我想要的结果。

答案 1 :(得分:0)

如果您不关心保存的小数值,就像人们说ROUND()会起作用一样,只需将第二个参数传递为0即可表示您不关心小数位,精度= 0 =无十进制,例如:

DECLARE @floater FLOAT = 2.50

SELECT ROUND(@floater, 0)  --Returns 3

SET @floater = 2.10

SELECT ROUND(@floater, 0)  --Returns 2