Sql server 更改SQL表中的性别值

Sql server 更改SQL表中的性别值,sql-server,Sql Server,我已经在sql server中创建了一个表,该表包含员工的信息。有一列用于确定员工是男性还是女性。i、 e男性或女性。现在我需要将所有男性转换为女性,将所有女性转换为男性 表格结构为: 奇怪 作为一个基本示例,如下所示: update employees set gender = case gender when 'Male' then 'Female' when 'Female' then 'Male' else 'Other' end

我已经在sql server中创建了一个表,该表包含员工的信息。有一列用于确定员工是男性还是女性。i、 e男性女性。现在我需要将所有男性转换为女性,将所有女性转换为男性

表格结构为:

奇怪

作为一个基本示例,如下所示:

update employees
set
    gender = case gender 
        when 'Male' then 'Female'
        when 'Female' then 'Male'
        else 'Other' end
这应该起作用:

UPDATE dbo.Employee
SET Gender =    
    CASE
        WHEN (Gender = 'Female')
            THEN 'Male'
        WHEN (Gender = 'Male')
            THEN 'Female'
    END
使用此脚本

UPDATE [Employee]
SET [Gender] = CASE [Gender]
WHEN 'Male' THEN 'Female'
WHEN 'Female' THEN 'Male'
END

男/女列的数据类型是什么?@sharmile你能发布表结构吗?@Andreas,数据类型是char@Alex,表结构如下所示。创建表Employee(FName char(50)、LName char(50)、Address char(50)、Gender char(10)、Birth_Date Date)+1表示其他。让我笑了。我觉得事情越来越复杂了你会对我看到的一些个人数据感到惊讶(沮丧)的。。。空的,空白的,非常奇怪的东西。。。当然,我们不要假设宇宙中只有两种性别!一般来说,在
CASE
语句中使用
ELSE
子句可以避免麻烦。是的,你也可以这样做。因为没有为我的示例指定任何要求,所以我将其设置为“其他”。这样,列上的可能值是众所周知的。业务需求将决定如何在“现实世界”场景中实际处理这一问题。性是一种不可应用的行为。显然我不符合ISO标准。我喜欢他们为可能出现的新性别预留3-8个座位。
UPDATE [Employee]
SET [Gender] = CASE [Gender]
WHEN 'Male' THEN 'Female'
WHEN 'Female' THEN 'Male'
END
update employee
set gender=case when gender='Male' then 'Female'
when gender='female' then 'male' end