【问题标题】:Rounding of Decimal values十进制值的四舍五入
【发布时间】:2018-02-16 20:41:17
【问题描述】:

sql中是否有任何函数可以将值四舍五入到最接近的整数。

例如,

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

我尝试了天花板和地板,但它没有给我准确的结果。天花板给了我 13 的值,而我需要 13 和 12 取决于我的值。 有什么功能可以用来获得我想要的结果吗? 任何帮助表示赞赏!

【问题讨论】:

标签: sql sql-server-2016


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    DECLARE @floater FLOAT = 2.50
    
    SELECT ROUND(@floater, 0)  --Returns 3
    
    SET @floater = 2.10
    
    SELECT ROUND(@floater, 0)  --Returns 2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多