it-swarm.com.ru

Заменить нулевые значения в SQL с помощью оператора выбора?

Как это сделать? Какой запрос можно написать с помощью оператора select , где все нули должны быть заменены на 123?

Я знаю, что мы можем сделать это, используя, обновить имя таблицы set fieldname = "123" где fieldname равно нулю;

но не могу сделать это с помощью выберите заявление.

10
Thompson

У вас есть много вариантов замены значений 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 
26
RedFilter

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

пример:

select IFNULL(column, 1) FROM table;

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_ifnull

6
Dave Halter

Я думаю, что вы ищете функцию IFNULL IFNULL(field, 0) вернет 0, когда поле вернет ноль

1
LesterDove

Оператор UPDATE необходим для обновления данных в таблице. Вы не можете использовать оператор SELECT для этого.

0
Exupery