"Michailas" <michailas(dot)p(at)gmail(dot)com> writes:
> postgres=# SELECT abs(300 - 200)/200*100 as bad, abs(300-200)*100/200 as
> good;
>
> bad | good
> -----+------
> 0 | 50
> (1 row)
That's how integer arithmetic works. Try just 1/2 and you'll see you get 0.
But if you do floating point arithmetic with 1.0/2 you'll get 0.5.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!