SQL:替换单个列中多行中的两个值

时间:2016-04-22 02:49:02

标签: sql sql-server

我有一个值为'< 500'和'> 500'几百行。这是仅有的两个数字。现在,我想替换所有'< 500'与' xx'和所有'> 500'与' yy'。

有没有办法在单个SQL查询中替换这两个值,而不是使用两个单独的更新查询,如下所示:

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

我尝试使用Case,但无法使其正常工作。

1 个答案:

答案 0 :(得分:3)

是的,使用case声明:

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