2017-02-28 113 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 

可以更新通過加入和更新查詢的價值。