Last but certainly not least our problem child.
In the absence of parenthesis and nothing but multiplication and division it should go left to right. Right? But that would give us -100.0/-100.0 returning 1.0 and finally 1.0*10.0 giving us 10.0. But that’s not what we are getting. Somehow we are ending up with 0.1.
Read the comments, where Joe Celko explains the reasoning behind this strange behavior.
I tried this out on dbfiddle and here were some quick results:
- Postgres 12 — 10.0
- Oracle 18c (had to query from dual) — 10
- MySQL 8.0 — 10
- SQLite 3.27 — 10
- SQL Server — 0.1
So it’s definitely not the case everywhere. The thing I noticed for SQL Server is that they don’t call out unary operators in the operator precedence guide, as opposed to, say, Oracle.