TSQL 自定义舍入
TSQL custom rounding
我正在使用 SQL-Server 2008 R2。
我需要实现以下四舍五入。小数点后第一位为 0 向小数位舍入,大于或等于 1 向高位舍入,样本数据:
3.09 ---> 3
3.1 ---> 4
0 ---> 0
3.005 ---> 3
668.15 ---> 669
实现它的最简单方法是什么?
我试过这样做:
SELECT CEILING(3.09) -- this is incorrect, returning 4 instead of 3
SELECT ROUND(3.09,0) -- with 3.09 is ok, but if I'm trying to round 3.1 It still returning 3.00 instead of 4
也许我能以某种方式结合它?或者我需要任何其他功能?
SELECT ROUND(val + 0.4, 0) rnd_val
FROM (
VALUES
(3.09),
(3.1 ),
(0),
(3.005),
(668.15)
)v (val)
我正在使用 SQL-Server 2008 R2。
我需要实现以下四舍五入。小数点后第一位为 0 向小数位舍入,大于或等于 1 向高位舍入,样本数据:
3.09 ---> 3
3.1 ---> 4
0 ---> 0
3.005 ---> 3
668.15 ---> 669
实现它的最简单方法是什么?
我试过这样做:
SELECT CEILING(3.09) -- this is incorrect, returning 4 instead of 3
SELECT ROUND(3.09,0) -- with 3.09 is ok, but if I'm trying to round 3.1 It still returning 3.00 instead of 4
也许我能以某种方式结合它?或者我需要任何其他功能?
SELECT ROUND(val + 0.4, 0) rnd_val
FROM (
VALUES
(3.09),
(3.1 ),
(0),
(3.005),
(668.15)
)v (val)