sql 数据检索后的替换格式化

有时从数据库中检索出来的数据,需要进行格式化,例如性别在数据库中存储 1 表示男性, 0 表示女性,在显示时要将 1 替换成男, 0 替换成女,这里方法是多样的,可以在服务器端进行,也可以在客户端进行。

在服务器端利用 sql 查询语句,下面有两种方法。

方法一:利用 case

declare   @tb   table (name  char ( 5 ),sex  int )
insert   @tb   select   ' Andy ' , 1   union   all
 
select   ' Jim ' , 1   union   all
 
select   ' Lily ' , 0   union   all
 
select   ' Linda ' , null

select  
 name,
 sex
= CASE  
  
WHEN  sex = 1   THEN   ' 男   '
  
when  sex =   0   then   ' '
 
end
from   @tb

结果:
name  sex
----- ----
Andy  男  
Jim   男  
Lily  女  
Linda NULL


方法二 利用 join

declare   @tb   table (name  char ( 5 ),sex  int )
insert   @tb   select   ' Andy ' , 1   union   all
 
select   ' Jim ' , 1   union   all
 
select   ' Lily ' , 0   union   all
 
select   ' Linda ' , null

select  t.name,t.sex,s.SexTitle 
from   @tb  t  left   join  
 (
select   1   as  SexID,  ' '   as  SexTitle  union   all   select   0 ' ' ) s
on  t.sex = s.SexID


结果:
name  sex         SexTitle
----- ----------- --------
Andy            1 男      
Jim             1 男      
Lily            0 女      
Linda        NULL NULL   

转载于:https://www.cnblogs.com/feixian49/archive/2007/10/10/918942.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值