我有一個表,其中很多值是'N/A'。我想用下一個非'N/A'值來更新它。我想找到'N/A'值,並用下一個值更新它
我的表:
col1 || column2 || Column3
N/A || ACT0001 || ACT0002
ACT0004 || N/A || ABT0003
N/A || N/A || AND0009
輸出:
Column4
ACT001
ABT003
AND009
預先感謝您
我有一個表,其中很多值是'N/A'。我想用下一個非'N/A'值來更新它。我想找到'N/A'值,並用下一個值更新它
我的表:
col1 || column2 || Column3
N/A || ACT0001 || ACT0002
ACT0004 || N/A || ABT0003
N/A || N/A || AND0009
輸出:
Column4
ACT001
ABT003
AND009
預先感謝您
這個什麼:
UPDATE Table
SET Col4 = COALESCE(NULLIF(Col1, 'N/A'), NULLIF(Col2, 'N/A'), NULLIF(Col3, 'N/A'))
可以刪除NULIIF
聲明如果Col3
是要始終有值,或者添加其他條件,如果所有的值是「N/A」 :
COALESCE(NULLIF(Col1, 'N/A'), NULLIF(Col2, 'N/A'), NULLIF(Col3, 'N/A'), 'No value found')
不知道我理解你,也許類似的東西?
UPDATE YourTable t
SET t.col4 = CASE WHEN t.col1 = 'N/A' THEN
CASE WHEN t.col2 <> 'N/A' THEN t.col2
ELSE t.col3
END
WHEN t.col2 = 'N/A' THEN t.col3
END
謝謝,這就是我一直在尋找的。 –
UPDATE YourTable SET COl4 = CASE WHEN Col1 = 'N/A' THEN
COALESCE(Col1,Col2) WHEN Col2 = 'N/A' THEN COALESCE(Col2,Col3) ELSE Col3
END
簡而言之 –
你到目前爲止嘗試過什麼?數據庫中只有3列還是更多? – Dhwani