1. 程式人生 > >性別欄位在資料庫中儲存數字,查詢時,如何查詢出數字對應的男和女?(case when的應用)

性別欄位在資料庫中儲存數字,查詢時,如何查詢出數字對應的男和女?(case when的應用)

今天敲程式碼的時候,剛好遇到這個問題,寫部落格記一下。

情況如下:性別欄位在資料庫中儲存的是數字,男對應1,女對應0。然後,查詢的時候,我想查詢出男和女兩個字,而不是1和0。

一開始,我寫的sql語句,是直接從查詢出性別對應的數字,sql語句如下:

SELECT 
Employee.Id,
Employee.Account,
Pwd, 
Employee.Name,
Sex,
Email,
Phone,
Position.Name as PositionId,
Team.Name as TeamId,
Store.Name as StoreId,
Enabled
from Employee ,Position,Team, Store 
where Employee.PositionId=Position.Id and Employee.TeamId=Team.Id  and  Employee.StoreId=Store.Id

查詢出的結果如下,性別只能查詢出數字。


在網友的提示下,我將sql語句修改如下:

SELECT 
Employee.Id,
Employee.Account,
Pwd, 
Employee.Name,
  ( CASE Sex
      WHEN '1' THEN '男'      
      WHEN '0' THEN '女'
      ELSE ' '
   END )as Sex,
Email,
Phone,
Position.Name as PositionId,
Team.Name as TeamId,
Store.Name as StoreId,
 Enabled
from Employee ,Position,Team, Store 
where Employee.PositionId=Position.Id and Employee.TeamId=Team.Id  and  Employee.StoreId=Store.Id


在使用了case  when(oracle只用decode函式) 之後,查詢到的性別終於顯示了文字,而不是數字