2017-08-29 8 views
0

Kann ich Wert auf der Grundlage spezifischer Dezimalwerte aufrunden, ich habe diese Daten in meiner MySQL-Tabelle:mysql Abfrage auf bestimmte Dezimalwerte rundenbasierten

1122.46 
4599.99 
2000.56 
5249.99 

und ich abfragen möchten das Ergebnis wie folgt aus:

1122.46 
4600 
2000.56 
5250 

, wobei nur Werte mit einem Dezimalpunkt von .99 aufgerundet werden.

Antwort

1

Die einzige Art, wie ich denken konnte, ist:

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

Testing es:

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

0

Sie einen Fall verwenden:

select number + case when number - floor(number) = .99 then .01 else 0 end 
+0

danke für nette antwort, es klappt auch :) – mrfizh