Ruby on Rails
Wednesday, February 24, 2016
On 2016-Feb-23, at 20:34 , Mengxi Liao <marcyliew@gmail.com> wrote:For some reason the following two queries return different resultsWhere there is only one activity record and price is 3.63 and quantity is 16.19, the following codes return results of different rounding.sum("CEIL(`activities`.quantity/60) * 60 / 3600 * `activities`.price").to_s
"58.81"
sum("CEIL(`activities`.quantity/60) * 60 / 3600 * `activities`.price * 1").to_s
"58.806" # this is the correct one
I have checked the raw sql and both return 58.806.
I believe this is a bug for the sum method.
so the ceiling of that should be 1
1 * 60.0 / 3600 * 3.63 == 0.0605
so unless you also have a bug in your CEIL() function, I don't see how the problem can be in the sum()
what are you really doing?
-Rob
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment