select id, decode(code,'deptcode','dept') code,count from dual
select id,decode(code,'deptcode','dept'),count from tablename --count是oracle关键字最好不要用来做字段名 select id,(case when code='deptcode' then 'dept' else code end),count from tablename--按照你说的code只有deptcode和dept两个值 --如果code 得到的是code=deptcode直接替换成 dept --那么不就是? select id,'dept',count from tablename
说的多全面啊,decode(),case when then ,都说到了。 是我的理解有问题么,我怎么感觉你是要更新呢 update tablename set code='dept' where code = 'deptcode';
如果code 里面只有两个值 “dept”“deptcode”的话,上面的回答足够了。 如果code里面是有两类值,一类是dept中文名称、一类是dept代码的话,就需要在查询时转换一下。 本机没DB,只能简单写下思路了。--有代码表codetable,存放dept中文名称(deptname)和dept代码(deptcode)的对应关系 select id,NVL((SELECT deptname from codetable ca where tn.code = ca.deptcode),tn.code) as dept,count from tablename tn;
--仔细查下 case (mssql ,oracle 调用)--decode (oracle)decode(code,'deptcode','dept','dept')
select id, decode(code,'deptcode','dept','dept') code, count from tab --PS:你写的问题自己真能读通吗?还是贴出愿望数据比较好
select id,decode(code,'deptcode','dept'),count from tablename
--count是oracle关键字最好不要用来做字段名
select id,(case when code='deptcode' then 'dept' else code end),count from tablename--按照你说的code只有deptcode和dept两个值
--如果code 得到的是code=deptcode直接替换成 dept
--那么不就是?
select id,'dept',count from tablename
是我的理解有问题么,我怎么感觉你是要更新呢
update tablename set code='dept' where code = 'deptcode';
如果code里面是有两类值,一类是dept中文名称、一类是dept代码的话,就需要在查询时转换一下。
本机没DB,只能简单写下思路了。--有代码表codetable,存放dept中文名称(deptname)和dept代码(deptcode)的对应关系
select id,NVL((SELECT deptname from codetable ca where tn.code = ca.deptcode),tn.code) as dept,count from tablename tn;
--仔细查下 case (mssql ,oracle 调用)--decode (oracle)decode(code,'deptcode','dept','dept')
--PS:你写的问题自己真能读通吗?还是贴出愿望数据比较好