2017-02-28 110 views
0

我想将所有具有NULL值的值替换为同一行另一列中的值。sql在其他列中用值替换空值

我试过不同的sql语句没有任何成功。

问候

+0

发布(添加到您的问题)你迄今为止的最大努力。 –

+0

你的意思是你想要*按照你描述的方式*更新你的表格,或者你想在查询结果中执行这样的替换* *? –

+0

您已经尝试过的不同SQL语句之一是什么? – Degan

回答

3

如果要更新,做这样的事情:

update t set col1 = col2 
where col1 is null 

如果你只想做选择,使用最多的数据库支持​​3210:

select coalesce(col1, col2) from t; 
+0

如果'col2'本身为空,该怎么办? – Rahul

0

如果您想要更新同一列的值

UPDATE A 
SET A.Col1 = A.Col2 
From TableA A 
Where A.Col1 IS NULL 

如果您想更新从其他表中的值,那么试试这个:

Update A 
SET A.Column1 = B.Column1 
From TableA A 
INNER JOIN TableB B 
ON A.SomeID = B.SameID 
WHERE A.Column1 IS NULL 

可以更新通过加入和更新查询的价值。