在范围SQL SERVER之间向下和向上舍入

时间:2016-02-03 22:09:06

标签: sql sql-server

我想知道如何在一个范围内进行上下舍入 示例

从:.01到.50 ROUND DOWN 到:.51到.99 ROUND UP

100.41将是100 和 100.52将是101

1 个答案:

答案 0 :(得分:1)

使用ROUND功能:

SELECT ROUND(0.01, 0, null)    -- 0
SELECT ROUND(0.51, 0, null)    -- 1
SELECT ROUND(100.41, 0, null)  -- 100
SELECT ROUND(100.52, 0, null)  -- 101

如果你想要.5向下舍入,你应该从你的值中减去.01,例如

DECLARE @var DECIMAL(10,2) = 0.5;
SELECT ROUND(@var - 0.01, 0, null) -- 0