首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用NVL/解码?

如何正确使用NVL/解码?
EN

Stack Overflow用户
提问于 2016-05-19 11:04:42
回答 1查看 60关注 0票数 0

以下是需要更正的查询(Oracle):

代码语言:javascript
复制
select
   parm_data_1,
   parm_data_2,
   parm_data_3,
   parm_data_4,
   parm_data_5,
   parm_data_6,
   parm_data_7,
   parm_data_8,
   parm_data_9,
   parm_data_10,
   parm_data_11,
   parm_data_12,
   parm_data_13,
   parm_data_14,
   parm_data_15,
   parm_data_16,
   parm_data_17,
   parm_data_18,
   parm_data_19,
   parm_data_20,
   wild_card_ind
--  End SIR A3109
from dbt_c_param_data
where
parm_id = i_param_id and

    brch_code  in ( nvl(i_pdet(1),'*'), '*') and
    prod_code  in ( nvl(i_pdet(2),'*'), '*') and
    cus_mst_no in ( nvl(i_pdet(3),'*'), '*')  and

    parm_key_1 in ( nvl(i_key_val(1),'*'), '*' , '**')  and
    parm_key_2 in ( nvl(i_key_val(2),'*'), '*' , '**')  and
    parm_key_3 in ( nvl(i_key_val(3),'*'), '*' , '**')  and
    parm_key_4 in ( nvl(i_key_val(4),'*'), '*' , '**')  and
    parm_key_5 in ( nvl(i_key_val(5),'*'), '*' , '**')  and
    parm_key_6 in ( nvl(i_key_val(6),'*'), '*' , '**')  and
    parm_key_7 in ( nvl(i_key_val(7),'*'), '*' , '**')  and
    parm_key_8 in ( nvl(i_key_val(8),'*'), '*' , '**')  and
    parm_key_9 in ( nvl(i_key_val(9),'*'), '*' , '**')  and
    parm_key_10 in (nvl(i_key_val(10),'*'),'*' , '**')
    order by  wild_card_ind  asc;

在上述查询的IN( .. , .. , ..)子句中,如果i_key_value(i)的值最终为null,那么它将变成(value, *, **).

在不为空的情况下,我只希望在( value )子句中使用类似于IN子句的内容,否则使用('*', '**')

如何修改查询以实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-19 11:15:12

(试试这个;)

代码语言:javascript
复制
...
and
((i_key_val(1) is not null and parm_key_1 in (i_key_val(1))) or parm_key_1 in ('*', '**'))
and
((i_key_val(2) is not null and parm_key_2 in (i_key_val(2))) or parm_key_2 in ('*', '**')) 
...

或者这个;)

代码语言:javascript
复制
...
parm_key_1 in ( nvl(i_key_val(1),'*'), nvl(i_key_val(1),'**'))  and
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37321327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档