sql 判断语句 用PL/SQL查询根据字段值,显示相应的汉字。

有一表名:table
字段:STATUS
字段中值有:0,1,2,3,4,5
当字段中值为1- 已保存
2- 已提交审批
3-审批未通过
4- 审批通过
5-已结束
要求显示a字段值为A203 的数据结果。
谢谢“郭哥之子 ”的回答,同时也谢谢楼上两位的回答,非常感激!

第1个回答  2012-05-16
select
count(case when STATUS='0' then STATUS else NULL end)"1" ,
count(case when STATUS='1' then STATUS else NULL end)"已保存" ,
count(case when STATUS='2' then STATUS else NULL end)"已提交审批" ,
count(case when STATUS='3' then STATUS else NULL end)"审批未通过" ,
count(case when STATUS='4' then STATUS else NULL end)"审批通过",
count(case when STATUS='5' then STATUS else NULL end)"已结束"
from table group by STATUS ;追问

不要数字统计,只要显示字段A为A203的数据。

追答

select
case when STATUS='0' then STATUS else NULL end"1" ,
case when STATUS='1' then STATUS else NULL end"已保存" ,
case when STATUS='2' then STATUS else NULL end"已提交审批" ,
case when STATUS='3' then STATUS else NULL end"审批未通过" ,
case when STATUS='4' then STATUS else NULL end"审批通过",
case when STATUS='5' then STATUS else NULL end"已结束"
from table ;

追问

不是这样的,是字段内容显示为“已保存”“已提交审批”之类的,不是字段名。

第2个回答  推荐于2017-11-25
执行:select decode(STATUS,0,'无效',1,'已保存',2, '已提交审批',3,'审批未通过',4, '审批通过',5,'已结束') from table where a='A203'本回答被提问者采纳
第3个回答  2012-05-16
select decode(STATUS,1,已保存,2, 已提交审批,3,审批未通过,4, 审批通过,5,已结束,0) from table追问

执行:select decode(STATUS,0,无效,1,已保存,2, 已提交审批,3,审批未通过,4, 审批通过,5,已结束) from table where t.a='A203'
显示:
ora-00904:"已结束"标示符无效

追答

汉字用单引号引起来

追问

试过了,结果还不行。

相似回答