2012-03-26 5 views
14

Ich suche Werte abzurunden wieRunde zu 0,5 oder 1,0 in SQL

2,3913 -> 2,5

4,6667 -> 4,5

2,11 -> 2

Wie kann ich das in SQL verwalten?

Dank

+1

die erste Lösung isnt mit später 2 ansiedeln. –

+0

Ich verstehe nicht, wie das rund ist. Auf die nächste Hälfte? Warum wird 2.11 auf 2 abgerundet, aber 4.6667 wird auf 5 anstatt auf 4.5 gerundet? – vcsjones

+0

Wenn es "Runde auf die nächste 0,5" ist, dann sollte das zweite Beispiel auf "4,5", nicht "5" runden. Wenn es sich um "0,5" handelt, sollte das dritte Beispiel "2,5" sein. Bitte schreibe eine Regel, der wir tatsächlich folgen können. –

Antwort

41
SELECT ROUND(2.2 * 2, 0)/2 

erhält man die nächsten 0,5

+1

+1: Eigentlich tut was der OP verlangt :) – MatBailie

+0

Danke, das funktioniert einfach super! Danke vielmals! –

+2

Dies könnte als 'SELECT ROUND (2.2/.5,0) * .5' geschrieben worden sein. – wilsjd