使用select语句替换sql中的空值?

Tho*_*son 12 mysql sql

何要这样做?使用select语句可以写入什么查询,其中所有空值应该替换为123?

我知道我们可以使用,更新tablename set fieldname ="123",其中fieldname为null;

但不能使用select语句来做到这一点.

Red*_*ter 29

在MySQL中有很多替换NULL值的选项:

CASE

select case 
    when fieldname is null then '123' 
    else fieldname end as fieldname 
from tablename 
Run Code Online (Sandbox Code Playgroud)

COALESCE

select coalesce(fieldname, '123') as fieldname 
from tablename 
Run Code Online (Sandbox Code Playgroud)

IFNULL

select ifnull(fieldname, '123') as fieldname 
from tablename 
Run Code Online (Sandbox Code Playgroud)


Dav*_*ter 6

有一个名为IFNULL的语句,它接受所有输入值并返回第一个非NULL值.

例:

select IFNULL(column, 1) FROM table;
Run Code Online (Sandbox Code Playgroud)

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