性别字段在数据库中存储数字,查询时,如何查询出数字对应的男和女?(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函数) 之后,查询到的性别终于显示了文字,而不是数字







  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值