如何将所有NULL列更新为空字符串?

Jon*_*ona 8 sqlite

我想更新我的表,以便每个具有NULL值的列更新为空字符串.

目前我有以下查询,但它只会更新一列,我想将所有NULL列更新为空字符串.

UPDATE table SET column1='' WHERE column1 IS NULL
Run Code Online (Sandbox Code Playgroud)

Chr*_*ken 22

您可以通过执行以下操作来使用一个语句更新多个列:

UPDATE table SET column1='', column2='', column3='' WHERE column1 IS NULL
Run Code Online (Sandbox Code Playgroud)

但是,thsi只会根据where子句进行更新.

对于您要做的事情,您需要单独的陈述.

UPDATE table SET column1='' WHERE column1 IS NULL
UPDATE table SET column2='' WHERE column2 IS NULL
UPDATE table SET column3='' WHERE column3 IS NULL
Run Code Online (Sandbox Code Playgroud)

编辑试试这个:

UPDATE table SET column1= IfNull(column1,''), column2= IfNull(column2,'') , column3= IfNull(column3,'') 
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以将列更新为自身并检查那里是否为空...

UPDATE table SET 
column1 = ISNULL(column1,''),
column2 = ISNULL(column2,''),
column3 = ISNULL(column3,'')
Run Code Online (Sandbox Code Playgroud)

ETC..

不需要 WHERE 子句,因为您希望它在所有记录上运行。