MySQL
MySQL
SELECT 5 / 2; -- 2.5000(decimal)
SELECT 5 DIV 2; -- 2(整数除法)
SELECT 5 % 2; -- 1(取余)PostgreSQL
PostgreSQL
SELECT 5 / 2; -- 2(整数除法截断)
SELECT 5.0 / 2; -- 2.5000000000000000
SELECT div(5, 2); -- 2
SELECT (5::numeric / 2); -- 2.5| MySQL | / 返回 decimal;DIV 返回整数 |
|---|---|
| PostgreSQL | int / int 截断为 int;div() 等价取整;要小数量级先转 numeric |
| 百分比 | 先乘 100 再除,或全程 numeric 避免中途截断 |