2012-03-26 26 views
14

Sto cercando di arrotondare i valori comerotonda a 0,5 o 1,0 in SQL

2,3913 -> 2,5

4,6667 -> 4,5

2.11 -> 2

Come posso gestirlo in SQL?

Grazie

+1

la prima soluzione non sta stabilirsi con successive 2 quelli. –

+0

Non capisco come questo stia andando in tondo. Alla metà più vicina? Perché il 2,11 viene arrotondato al 2, ma il valore 4,66667 viene arrotondato a 5 anziché a 4,5? – vcsjones

+0

Se è "arrotondato allo 0,5" più vicino, il secondo esempio dovrebbe arrotondare a "4,5", non a "5". Se è "arrotondare fino a 0,5", il terzo esempio dovrebbe essere "2.5". Per favore scrivi una regola che possiamo effettivamente seguire. –

risposta

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

si arriva al più vicino 0,5

+1

+1: In realtà fa quello che l'OP chiedeva :) – MatBailie

+0

Grazie che funziona semplicemente fantastico! Molte grazie! –

+2

Questo potrebbe essere stato scritto come 'SELECT ROUND (2.2/.5,0) * .5'. – wilsjd

Problemi correlati