/ / TSQL персонализирано закръгляване - sql, sql-сървър, функция, tsql, закръгляване

TSQL персонализирано закръгляване - sql, sql-сървър, функция, tsql, закръгляване

Аз използвам 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

Може би по някакъв начин мога да го комбинирам? Или имам нужда от друга функция?

Отговори:

4 за отговор № 1
SELECT ROUND(val + 0.4, 0) rnd_val
FROM (
VALUES
(3.09),
(3.1  ),
(0),
(3.005),
(668.15)
)v (val)

въведете описанието на изображението тук