Trampa
División entera
7 / 93 vale 0 cuando ambos operandos son enteros.Escriba 100.0 * a / b, o CAST(a AS NUMERIC) / b. Postgres, Redshift, SQL Server y SQLite dividen enteros como
enteros (7 / 2 da 3); DuckDB, Snowflake, BigQuery y MySQL devuelven 3.5. Una consulta correcta en uno puede ser
incorrecta en otro: haga explícito el decimal y será correcta en todos. Las tasas y proporciones necesitan decimales.
SELECT 7 / 2 AS on_duckdb,
7 * 1.0 / 2 AS everywhere,
100.0 * 149 / 2500 AS cancel_pct;
| on_duckdb | everywhere | cancel_pct |
|---|---|---|
| 3.5 | 3.5 | 5.96 |
Practicar:The cancellation rate