我有一个表薪水,看起来像下面那个,有m =男性和f =女性值。我想用单个更新查询交换所有f和m值。
| id | name | sex | salary |
|----|------|-----|--------|
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
运行查询后,上面的薪水表应如下所示。
| id | name | sex | salary |
|----|------|-----|--------|
| 1 | A | f | 2500 |
| 2 | B | m | 1500 |
| 3 | C | f | 5500 |
| 4 | D | m | 500 |
我的代码目前看起来像这样:
UPDATE salary
SET sex = 'm'
WHERE sex = 'f'
AND SET sex = 'f'
WHERE sex = 'm' ;
任何人都可以看到我的查询出错了吗?
答案 0 :(得分:0)
你可以这样做
UPDATE @table
SET [Sex] = CASE [Sex]
WHEN 'm' THEN 'f'
WHEN 'f' THEN 'm'
END;