2016-04-22 58 views
0

我在數百行中有一列值爲'< 500'和'> 500'的列。這是唯一的兩個數字。現在,我想用'yy'替換所有'< 500'和'xx'並將所有'> 500'替換。SQL:在單個列中將多個行中的兩個值替換爲

有什麼辦法,以取代雙方在一個SQL查詢中值,而不是使用兩個單獨的更新查詢如下:

UPDATE [table] SET [column] = 'xx' WHERE [column] = '< 500'; 
UPDATE [table] SET [column] = 'yy' WHERE [column] = '> 500'; 

我嘗試使用案例這一點,但無法得到它的工作。

+0

你的語法建議的SQL Server。 –

回答

3

是,使用一個case聲明:所以我刪除了Oracle標籤

UPDATE [table] 
    SET [column] = (CASE WHEN [column] = '< 500' THEN 'xx' ELSE 'yy' END) 
    WHERE [column] IN ('< 500', '> 500'); 
+0

你輸入的比我快@Gordon :) –

+0

這樣做了。謝謝@戈登。 :) – Leo

相關問題