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

SQL数据格式化技巧
本文介绍了在数据库查询中使用SQL语句进行数据格式化的两种方法:一是利用CASE语句将数值型性别字段转换为文本描述;二是通过JOIN操作连接一个包含描述信息的子查询结果,实现相同目的。这两种方法均可在服务器端直接处理数据展示问题。

有时从数据库中检索出来的数据,需要进行格式化,例如性别在数据库中存储 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值