Ответ 1
Да, используя COALESCE
.
SELECT COALESCE(null_column, 0) AS null_column FROM whatever;
COALESCE просматривает список значений, которые вы ему даете, и возвращает первое ненулевое значение.
Я получаю значения NULL
в результатах операции в MySQL.
Есть ли способ преобразовать значения NULL
в значение 0?
Да, используя COALESCE
.
SELECT COALESCE(null_column, 0) AS null_column FROM whatever;
COALESCE просматривает список значений, которые вы ему даете, и возвращает первое ненулевое значение.
Я добавляю этот ответ, потому что никто не упоминал IFNULL
function
Вы можете использовать IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
будет возвращать значение столбца (если у него есть что-то отличное от NULL
), иначе передается второй параметр (в данном случае 0
).
Существует метод COALESCE
, который возвращает первый ненулевой параметр в вашем случае:
COALESCE(field, 0)
Но вы можете использовать это, если хотите больше:
COALESCE(field1, field2, 0)
MySQL:
SELECT COALESCE(Mycolumn, 0);
Если вы запутались и имеете NULL в существующем макете таблицы и хотите нули, вот решение:
UPDATE 'table' SET 'somefield'=0 WHERE 'somefield' is null