当USE选择查询时为整数分配值

时间:2015-04-02 13:08:31

标签: sql sql-server select

此问题与SQL Server有关。我有一个名为gender的列表,1或0将保存为整数。我想知道在使用SELECT语句选择标签时是否有方法分配标签。

例如

SELECT gender 
FROM emp

如果1出现Male并且出现Female,则应显示{{1}}。

3 个答案:

答案 0 :(得分:3)

您可以使用CASE

SELECT CASE WHEN gender = 1 THEN 'Male' ELSE 'Female' END AS gender
FROM emp

答案 1 :(得分:3)

使用CASE运算符,即1时的CASE性别,然后是'男性'别的'女性'结束。 完整选择如下:

 SELECT  gender, 
         CASE gender 
           when 1 then 'Male' 
           else 'Female' 
         end as gender_name    
 FROM emp

<强> UPD: 使用N / A选项来处理所有可能的optios(如果性别字段值不在范围[0,1]内,但我更喜欢使用检查约束来确定可能的值,以避免奇怪/意外的值):

 SELECT  gender, 
         CASE 
           gender 
             when 1 then 'Male' 
             when 0 then 'Female' 
             else 'N/A' 
         end as gender_name    
 FROM emp

答案 2 :(得分:1)

您可以使用CASE...WHEN...THEN...END来实现此目标

select case when GENDER = 1 then 'Male'
            when GENDER = 0 then 'Female'
            else 'N/A'
       end as GENDER
from emp;

详细了解此here