2014-02-13 55 views
1

我將一列數據從一列轉移到另一列,而且我不確定如何在第一列可爲空而第二列不可用時覆蓋案例。將列中的數據複製到另一個列並處理空案例

COLUMN1有一些值或null,我想複製這些值在COLUMN2,並擺脫空值。我如何以最佳方式覆蓋空案例?也就是說,如果我在COLUMN1中有空,我想用一個特定的值來標記它,例如COLUMN2中的0。我希望COLUMN2具有非空約束。其餘的值將被複制。基本上

這一點,但在某種程度上,將與空工作以及:

INSERT INTO table (COLUMN2) SELECT COLUMN1 FROM table; 

任何想法是值得讚賞!

謝謝!

回答

1

我想你想update,不insert

update table 
    set column2 = coalesce(column1, 0); 

編輯:

如果您insert說法真的是你想要做什麼,那麼你可以把那裏的邏輯:

INSERT INTO table(COLUMN2) 
    SELECT coalesce(COLUMN1, 0) 
    FROM table; 
+0

不知道那個魔法功能!太簡單!謝謝=) –

相關問題