2017-06-13 120 views

回答

0

使用Case声明

Select 
    Name, 
    Case when Gender = 'Male' then 'M' when Gender = 'Female' then 'F' else 'Other' end 
from TableA 
+0

这是错误的,它应该是'性别='男'时,然后'M'时性别='女'然后'F'其他'结束'的情况 – User632716

+0

@tompreston很好的地方,改变了它 – dbajtr

1

试试这个:

select name 
    , case when gender = 'Male' then 'M' when gender = 'Female' then 'F' else 'Unknown' end 
from tableA 
3

在这种情况下,由于“M”和“F”是第一个字符,因此可以使用SUBSTRING。

SELECT Name, 
    SUBSTRING(Gender, 1,1) 
FROM tableA 
+0

如果列中的值不是男性或女性,我将添加的唯一可能的逻辑就是处理,尽管这不是标准的一部分。我最喜欢的答案仍然。 – Shaulinator

+1

我没有想到,很整洁 – User632716

0

我不能评论那么我张贴了少量更新由约翰Pasquet一个已经作出答复。 Shaulinator已经指出的是,我们不知道性别栏背后的逻辑,但我仍然认为你会希望确保该M/F是资本,所以我加入

SELECT Name, 
    UPPER(SUBSTRING(Gender, 1,1)) 
FROM tableA 
相关问题