首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server性别交换查询

SQL Server性别交换查询
EN

Stack Overflow用户
提问于 2010-06-11 17:07:22
回答 8查看 29.2K关注 0票数 2

我有一个表,其中包含以下列:

代码语言:javascript
复制
ID, Name, Designation, Salary, Contact, Address, Gender

偶然地,对于所有男性,我输入了“女性”,同样,对于所有女性,我输入了“男性”。例如

代码语言:javascript
复制
0023 Scott Developer 15000 4569865 Cliff_Eddington,USA Female

我上面的那一行应该是男性而不是女性。还有所有的男性,他们的性别都被更新为女性。所有女性的相同情况已更新为男性。

有没有一个查询可以让我修改所有性别为男性的行,将其更改为女性,所有性别为女性的行,将其更改为男性。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-06-11 17:13:34

我会在运行更新之前运行SELECT COUNT(*),以便您获得正确的结果,然后对事务执行COMMIT操作:

代码语言:javascript
复制
BEGIN TRANSACTION

UPDATE tableA 
   SET Gender = CASE  
                WHEN Gender = 'Male' THEN 'Female'  
                ELSE 'Male'  
                END

--COMMIT TRANSACTION
--ROLLBACK TRANSACTION
票数 8
EN

Stack Overflow用户

发布于 2010-06-11 17:08:33

这应该就行了

代码语言:javascript
复制
UPDATE tbl SET Gender = (CASE WHEN Gender = 'Male' THEN 'Female' ELSE 'Male' END)

(对不起,是mysql语法,已针对ms-sql修复)

票数 7
EN

Stack Overflow用户

发布于 2010-06-11 17:08:58

你可以尝试像这样的东西

代码语言:javascript
复制
UPDATE TABLE
SET Gendeer =   CASE 
                    WHEN Gender = 'Male' 
                        THEN 'Female' 
                    ELSE 'Male' 
                END
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3021549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档