如何替换多列中的值?

时间:2015-05-06 10:59:31

标签: mysql sql

我有一个数据库表null,我想用空字符串替换特定列中的x值。要删除特定列update foo set x = '' where x is null; 中存在的空值,我会喜欢

update foo set x,y,z = '' where x,y,z is null; 

无论如何我会喜欢,

JSON.parse

4 个答案:

答案 0 :(得分:3)

你可以:

set 
   x = case when x is null then '' else x,
   y = case when y is null then '' else y,
   z = case when z is null then '' else z
   ...

答案 1 :(得分:1)

这将更新所有行,其中任何 x y z 具有NULL值,使用COALESCE function仅在值为NULL的列中修改值:

UPDATE
    foo
SET
    x = COALESCE(x, ''),
    y = COALESCE(y, ''),
    z = COALESCE(z, '')
WHERE
    NULL IN (x, y, z)

答案 2 :(得分:0)

这样做更简单:

UPDATE foo SET x='', y='', z='' WHERE x IS NULL AND y IS NULL AND z IS NULL

如果您只想编辑NULL值

,请选择此项
UPDATE foo SET x = IF(x IS NULL, '', x), y = IF(y IS NULL, '', y) ...

答案 3 :(得分:0)

你应该试试这个

UPDATE foo SET x ="",y ="",z ="" WHERE x为NULL,y为NULL,z为NULL