如何根据小数舍入一个数字? (SQL)

时间:2017-09-21 21:22:35

标签: sql

大家好,我的问题是:

我有一条规则来验证一个数字是否大于或等于.3我将舍入到下一个数字并添加另一个数字。例如:

1000.3 = 1001 + 1 = 1002

如果数字小于.3,我只会添加一个:

1000.2 = 1001

我一直在寻找SQL中的某种命令,但我没有运气。希望你能帮助我。

谢谢! Ro A。

3 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

SELECT CASE WHEN (Number - FLOOR(Number)) >= .3 
            THEN (CEILING(Number)+1)
            ELSE CEILING(Number)
       END AS NextNumber

答案 1 :(得分:0)

我最初写道,这是ANSI,但事实并非如此。但是,SQL Server和MySQL都支持%运算符。

DECLARE @one DECIMAL(10, 1) = 1000.3

 SELECT  CASE WHEN @one % CAST(@one AS INT) >= 0.3 THEN CAST(@one as INT) + 1
    ELSE CAST(@one as INT) + 2 END

答案 2 :(得分:-1)

SELECT ROUND(15.193,-1) "Round" FROM DUAL;

     Round
----------
        20