Hi, thanks for your quick answers. To close this non-bug : According to the doc ( http://www.postgresql.org/docs/9.2/static/sql-syntax-lexical.html#SQL-SYNTAX-OPERATORS ) , multiplication has precedence on division. (I supposed it implicitely) So anyway the query is parsed as ( 1/ (2*3.2)) and ( 3.2*1) / 2 ), and so the behaviour is consistant.
Cheers , Rémi 2013/7/22 Pavel Stehule <pavel.steh...@gmail.com> > 2013/7/22 <remi.c...@gmail.com>: > > The following bug has been logged on the website: > > > > Bug reference: 8317 > > Logged by: Rémi > > Email address: remi.c...@gmail.com > > PostgreSQL version: 9.2.4 > > Operating system: Ubuntu 12.0.4 32 bits hosted by a VirtualBox > > Description: > > > > Hello; > > I ran into a strange behaviour. > > Initially it showed in a group by, but is also happens in regular select > : > > > > > > example : > > SELECT 2*ROUND(1/2*3.2) > > --> gives 0 > > SELECT 2*ROUND(3.2*1/2) > > --> gives 3 > > > > > > Hello > > It is not a bug - a reason for this behave is using a integer div in first > case > > ( 1 / 2 ) * 3.2 ... 1/2 .. integer div, because left operand is int > and right operand is int > (3.2 * 1) / 2 ... 3.2 / 2 .. using numeric div, left operand is > numeric and right operand is int > > Regards > > Pavel Stehule > > > > > Obviously both should return the same thing, preferably 3. > > It looks like a bug to me, or at least a non desirable behaviour. > > > > > > Cheers, > > Rémi > > > > > > > > -- > > Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) > > To make changes to your subscription: > > http://www.postgresql.org/mailpref/pgsql-bugs >