Don't sum up columns with +
in a sql-query if NULL
-Values can be present.
MySQL and PostgreSQL cannot sum up NULL
values with the +
value. The sum value will be NULL
.
MySQL:
mysql> select 1 + 2 + 3;
+-----------+
| 1 + 2 + 3 |
+-----------+
| 6 |
+-----------+
1 row in set (0,00 sec)
mysql> select 1 + NULL + 3;
+--------------+
| 1 + NULL + 3 |
+--------------+
| NULL |
+--------------+
1 row in set (0,00 sec)
Postgres:
test_database=# select 1 + 2 + 3;
?column?
----------
6
(1 row)
test_database=# select 1 + NULL + 3;
?column?
----------
(1 row)
If you want to do additions in the database:
- use
SUM
if it's an option to sum up a column of a result set instead of expressions (SUM
ignoresNULL
values) - wrap columns with:
COALESCE(column, 0)
(COALESCE
takes the first non-null argument)
Posted by Natalie Zeumann to makandra dev (2018-03-15 15:31)