搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 编程 > 数据库 > oracle
 1         
1楼  cuag49 2007-10-08 11:00:16

有一张表有H_flag,R_flag,O_flag字段,值为Y或N,还有一个是size字段,值为22,43,45。现在如果size值为22,H_flag=‘Y’则显示‘22H’,如果R_FLAG=‘Y’,显示‘22R’,如果O_FLAG=‘Y’则显示‘22O’。貌似如果一个字段判断可以用DECODE或case,现在是三个字段判断要如何实现啊?
2楼  bjt_ 2007-10-08 11:20:06

decode(size,22,
  decode(H_flag,'Y',size||'H',
    decode(R_FLAG,'Y',size||'R',
      decode(O_FLAG,'Y',size||'O'
        ,size
      )
    )
  )
  ,size
)
3楼  cuag49 2007-10-08 12:02:18

强人,我刚才试了一下另外的方法SELECT DECODE(T.OD_FLAG||T.HAZARD_FLAG||T.REEFER_FLAG,'NYY','HR','YNN','OD','NYN','HZ','NNY','RF','NNN','GP') FROM table T
把这几个连接起来,然后一次性判断
 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:要如何实现根据条件组合显示?感觉用decode难以实现
热门关注
标题回复点击
Oracle 10g (ASM):Sample Implementation0816
Oracle 正版用户授权0781
动态性能视图(Dynamic perfermance view V$)0770
EM 无法启动&&重新完全配置EM0637
OracleDBConsole 服务因 2 (0x2) 服务性错误而停止。请问一下如何解决!2466
小布老师Oracle 9i DBA Fundamentals II0408
ORA-1652: unable to extend temp segment诊断以及解决0391
Oracle Linux 和 iSCSI 上构建您自己的 Oracle RAC集群10381
locate pl/sql bottleneck0346
缓冲处理器 buffer handle0341
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源