SQL Server - 如何向上或向下舍入小数?

Mar*_*arc 7 sql sql-server select rounding

我想能够向上或向下舍入10.823.预期结果:

rounding down = 10.82
rounding up = 10.83
Run Code Online (Sandbox Code Playgroud)

知道round(10.823, 2)只会向下舍入.如何围捕它?

Mur*_*nik 6

你是对的,round是这项工作的错误工具.相反,你应该使用floorceiling.不幸的是,它们没有精确的参数round,所以你必须使用除法和乘法来模拟它:

SELECT FLOOR(value * 100) / 100 AS rounded_down,
       CEILING(value * 100) / 100 AS rounded_up
FROM   mytable
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.工作就像一个魅力事件虽然我希望MS会有一些更集成的东西...... (3认同)