在DB2中,我需要根据宿主变量的值从单个列中选择行

时间:2016-12-10 16:12:51

标签: ibm-midrange db2-400 rpgle

  

在DB2中,我需要根据宿主变量的值从单个列中选择行。

db列可以包含' D'或者' P'只要。

主变量可以包含值' D'或者' P'或者' B' (所有行)。

当主变量是' D'时,我想只选择带有' D'的行。 当主变量是' P'时,我想只选择带有' P'的行。 当主变量是' B'时,我想选择所有行。

我在使用嵌入式SQL的RPG中执行此操作。

提前致谢

2 个答案:

答案 0 :(得分:1)

你走了。

select * from table                 
where dbColumn in (                           
case when :hostvar  ='B' then  'D'                           
     when :hostvar  ='D' then  'D'   
    when :hostvar  ='P' then  'P'                                    
end ,                                              
case when :hostvar  ='B' then  'P'                           
end
)                                               

答案 1 :(得分:0)

  

这将有效......谢谢所有

尝试...从表中选择*(dbColumn =:hostvar或dbColumn in(' D',' P'))