Запрос mysql для округления конкретных десятичных значений

Могу ли я округлить значение на основе конкретных десятичных значений, у меня есть эти данные в моей таблице mysql:

1122.46
4599.99
2000.56
5249.99

и я хочу запросить результат следующим образом:

1122.46
4600
2000.56
5250

где округляются только значения, имеющие десятичную точку 0,99.


person mrfizh    schedule 29.08.2017    source источник


Ответы (2)


Единственный способ, о котором я мог думать, это:

SELECT `number` + (FLOOR(`number` + 0.01)-FLOOR(`number`))*0.01

Тестирование:

5249.99 + (FLOOR(5249.99 + 0.01)-FLOOR(5249.99))*0.01 = 5250

1122.46 + (FLOOR(1122.46 + 0.01)-FLOOR(1122.46))*0.01 = 1122.46

person Manuel Otto    schedule 29.08.2017

Вы можете использовать случай:

select number + case when number - floor(number) = .99 then .01 else 0 end
person Bohemian♦    schedule 29.08.2017