Take the 2-minute tour ×  I've got a table defined like this :
create table #tbFoo (bar float)  And I'm looking for a way to
round every value contained in column bar without changing the
total sum (which is known to be an integer, or very close to an
integer because of float number precision).  Rounding every
value to the nearest integer won't work (ex : 1,5;1,5 will be
rounded to 1;1 or 2;2)  It's quite easy to do this using several
requests (eg storing the original sum, rounding, computing the
new sum, and updating as many rows as needed to go back to the
original sum), but this is not a very elegant solution.  Is
there a way to do this using a single SQL request?  I'm using
SQL Server 2008, so solutions taking advantage of this specific
vendor are welcome.  Edit : I'm looking for a request minimizing
the differences between the old values and the new ones. In
other words, a value should never be rounded up if a greater
value has been rounded down, and vice-versa  share|improve this
question A nice questi