Заменить ноль на 0 в MySQL - PullRequest
49 голосов
/ 20 августа 2010

Я получаю NULL значений в результате операции в MySQL.

Есть ли способ преобразовать значения NULL в значение 0?

Ответы [ 5 ]

63 голосов
/ 20 августа 2010

Да, с помощью COALESCE.

SELECT COALESCE(null_column, 0) AS null_column FROM whatever;

COALESCE просматривает список значений, которые вы ему передаете, и возвращает первое ненулевое значение.

50 голосов
/ 15 июня 2014

Я добавляю этот ответ, потому что никто не упомянул IFNULL функцию

Вы можете использовать IFNULL

SELECT IFNULL(column_name, 0) FROM table_name;

IFNULL вернет значение столбца (если оно имеет значение, отличное от NULL), в противном случае передается второй параметр (в данном случае 0).

4 голосов
/ 18 декабря 2018

Если вы запутались и имеете NULL в существующем макете таблицы и хотите нули, вот решение:

UPDATE `table` SET `somefield`=0 WHERE `somefield` is null
4 голосов
/ 20 августа 2010

Существует метод COALESCE, который возвращает первый ненулевой параметр, в вашем случае:

COALESCE(field, 0)

Но вы можете использовать это, если хотите больше:

COALESCE(field1, field2, 0)
2 голосов
/ 20 августа 2010

MySQL:

SELECT COALESCE(Mycolumn, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...