SQL округляет процент до ближайшего .1 - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть столбцы процентов, и я хочу, чтобы они всегда округлялись до ближайшего .1

например

.005 --> .1
.11 --> .2
.3256 -->.4
.6797 -->.7

Я пытаюсь потолок и пол, но они дают мневсе целые числа

Я пробовал это, но он все еще округляется, как обычно, будет

округлять (n * 10, 0) / 10 как [ближайший 0,10]

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

функция round () может быть самой простой доступной опцией.

select round(1.02345443,2) from dual

, где 1-й аргумент - это номер ввода, а вторая цифра - цифры после десятичной точки.

Пожалуйста, обратитесь к это официальный документ для дополнительной информации.

0 голосов
/ 06 февраля 2019

Другой вариант с модульной арифметикой:

DECLARE @a DECIMAL(5,5) = 0.000005 --insert your number here

PRINT ROUND(@a, 1) + CASE WHEN @a % 0.1 < 0.05 AND @a % 0.1 > 0 THEN 0.1 ELSE 0 END

Этот тест проверяет, находится ли остаток от деления на 0,1 между 0 и 0,05 (то есть округляется в меньшую сторону), и добавляет 0,1 к округленному значению, еслитак.

0 голосов
/ 06 февраля 2019

Вы всегда можете использовать ceiling() и арифметику:

select ceiling(percentage * 10) / 10.0
...