Заменить значения nulls в sql с помощью select statement?
Хо сделать это?
Какой запрос можно записать с помощью инструкции select, где все нули должны быть заменены на 123?
Я знаю, что мы можем это сделать, используя, update tablename set fieldname = "123", где fieldname равно null;
но не может сделать это, используя оператор select.
Ответы
Ответ 1
У вас есть много вариантов замены значений NULL в MySQL:
CASE
select case
when fieldname is null then '123'
else fieldname end as fieldname
from tablename
COALESCE
select coalesce(fieldname, '123') as fieldname
from tablename
IFNULL
select ifnull(fieldname, '123') as fieldname
from tablename
Ответ 2
Существует оператор IFNULL, который принимает все входные значения и возвращает первое значение, отличное от NULL.
Пример:
select IFNULL(column, 1) FROM table;
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_ifnull
Ответ 3
Я думаю, что вы ищете функцию IFNULL
IFNULL(field, 0)
возвращает 0, когда поле возвращает null
Ответ 4
Для обновления данных в таблице требуется инструкция UPDATE. Вы не можете использовать оператор SELECT для этого.