如何編寫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) –