2011-09-21 30 views
2

我已经在sql server中创建了一个表,并且tabel有一个Employee的信息。有一列可以确定员工是男性还是女性。即男性女性。现在我需要把所有和所有更改SQL表中的性别值

表结构是:

CREATE TABLE Employee (
FName char(50), 
LName char(50), 
Address char(50), 
Gender char(10), 
Birth_Date date) 
+0

是什么的数据类型男性/女性专栏? – Andreas

+5

是Chaz Bono在那张桌子里? – Ray

+0

@sharmile你可以发表表格结构吗? –

回答

6

怪异。

作为一个基本的例子,这样的事情:

update employees 
set 
    gender = case gender 
     when 'Male' then 'Female' 
     when 'Female' then 'Male' 
     else 'Other' end 
+2

其他?真? ;) – Jason

+2

+1等。让我发笑。我认为这变得越来越复杂 –

+1

你会惊讶于我看到的一些个人数据......空洞,空白,很奇怪的东西......当然,我们不要假设在这些数据中只有两种性别宇宙!作为一般规则,在CASE语句中使用'ELSE'子句可以让您摆脱困境。 –

5

这应该工作:

UPDATE dbo.Employee 
SET Gender =  
    CASE 
     WHEN (Gender = 'Female') 
      THEN 'Male' 
     WHEN (Gender = 'Male') 
      THEN 'Female' 
    END 
4

使用该脚本

UPDATE [Employee] 
SET [Gender] = CASE [Gender] 
WHEN 'Male' THEN 'Female' 
WHEN 'Female' THEN 'Male' 
END 
0
update employee 
set gender=case when gender='Male' then 'Female' 
when gender='female' then 'male' end