SQL查询将男性显示为“M”,女性显示为“F”[重复]

Posted

技术标签:

【中文标题】SQL查询将男性显示为“M”,女性显示为“F”[重复]【英文标题】:SQL query to display Male as “M” and Female as “F” [duplicate] 【发布时间】:2017-06-13 16:31:52 【问题描述】:

如何编写 SQL 查询以从下表中将男性显示为“M”,将女性显示为“F”:

TableA
Name    Gender
JOHN    Male
ANSARI  Female
BABILONA    Male
KEZCSEELO   Male
RAJINI  Male
LOSEC   Female
NHOJ    Female

【问题讨论】:

你有没有尝试过什么? 也许左边(性别,1) 【参考方案1】:

使用Case 声明

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

【讨论】:

这会出错,应该是Case when Gender = 'Male' then 'M' when Gender = 'Female' then 'F' else 'Other' end @tompreston 好地方,改了【参考方案2】:

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

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

【讨论】:

如果列中的值不是男性或女性,我唯一要添加的可能是一些要处理的逻辑,尽管这不是标准的一部分。我最喜欢的答案仍然是。 没想到,还蛮整齐的【参考方案3】:

试试这个:

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

【讨论】:

【参考方案4】:

我无法发表评论,所以我要对 John Pasquet 已经给出的答案进行小幅更新。 Shaulinator 已经指出,我们不知道性别列背后的逻辑,但我仍然认为您希望确保 M/F 是资本,所以我添加了上层函数

SELECT Name,
    UPPER(SUBSTRING(Gender, 1,1))
FROM tableA

【讨论】:

以上是关于SQL查询将男性显示为“M”,女性显示为“F”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询练习二(From LeetCode)

627. 交换工资

if练习

如何根据条件为ggplot中的线条着色?

sql中的count是啥意思呢,求例子

绘制虚拟变量时,如何将 x 轴上的 0.0,1.0 更改为男性女性?