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

时间:2012-03-26 18:21:34

标签: mysql sql

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

我知道我们可以这样做,使用,     update tablename set fieldname =“123”其中fieldname为null;

但无法使用选择语句执行此操作。

4 个答案:

答案 0 :(得分:27)

你有很多选择在MySQL中替换NULL值:

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 

答案 1 :(得分:6)

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

示例:

select IFNULL(column, 1) FROM table;

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

答案 2 :(得分:1)

我认为你正在寻找IFNULL功能 当字段返回null时,IFNULL(field, 0)将返回0

答案 3 :(得分:0)

更新表中的数据需要UPDATE语句。您不能使用SELECT语句来执行此操作。