如何编写SQL查询来从下表为“M”和女为“F”显示男:SQL查询,显示男为“M”和女为“F”
TableA
Name Gender
JOHN Male
ANSARI Female
BABILONA Male
KEZCSEELO Male
RAJINI Male
LOSEC Female
NHOJ Female
如何编写SQL查询来从下表为“M”和女为“F”显示男:SQL查询,显示男为“M”和女为“F”
TableA
Name Gender
JOHN Male
ANSARI Female
BABILONA Male
KEZCSEELO Male
RAJINI Male
LOSEC Female
NHOJ Female
使用Case
声明
Select
Name,
Case when Gender = 'Male' then 'M' when Gender = 'Female' then 'F' else 'Other' end
from TableA
这是错误的,它应该是'性别='男'时,然后'M'时性别='女'然后'F'其他'结束'的情况 – User632716
@tompreston很好的地方,改变了它 – dbajtr
试试这个:
select name
, case when gender = 'Male' then 'M' when gender = 'Female' then 'F' else 'Unknown' end
from tableA
在这种情况下,由于“M”和“F”是第一个字符,因此可以使用SUBSTRING。
SELECT Name,
SUBSTRING(Gender, 1,1)
FROM tableA
如果列中的值不是男性或女性,我将添加的唯一可能的逻辑就是处理,尽管这不是标准的一部分。我最喜欢的答案仍然。 – Shaulinator
我没有想到,很整洁 – User632716
我不能评论那么我张贴了少量更新由约翰Pasquet一个已经作出答复。 Shaulinator已经指出的是,我们不知道性别栏背后的逻辑,但我仍然认为你会希望确保该M/F是资本,所以我加入
SELECT Name,
UPPER(SUBSTRING(Gender, 1,1))
FROM tableA
你尝试过什么事呢上的功能? – SchmitzIT
也许左(性别,1) –