2017-06-13 157 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 
相關問題