Oracle Virtual Obchodníka Prípade Vyhlásenia syntex otázku

0

Otázka

Na všetky Wisdoms,

Ja som v súčasnej dobe pomocou modul, ktorý sa nazýva Virtuálny obchodník v Oracle 12.1.3 s RDBMS 11.2 na automatize excel výpočty. V podstate to húšti Excel logiky na syntex v Oracle.

Napríklad, xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047},'Sadzba 4') znamená, že ísť do TP Ceny stôl a získať Sadzba 4.

V súčasnosti mám v nasledujúcej tabuľke stavať s niektorými Prípade ziskov a strát. Som len vedieť Prípade ziskov a strát s 1 logiku , napríklad v prípade, keď to_number({D2222}) > to_number({D21111}) potom to_number({D2226} - {D2432}) iné to_number({D2127}) koniec

Pravidlo Objem rozsah Medzera Platné % Až 1,000,000,000 1,000,000,000 2.40%
Až 1,500,000,000 500,000,000 2.20%
Až 2,000,000,000 500,000,000 1.90%
Vyššie 2,000,000,000 - 1.70%

Tak, akúkoľvek spätnú väzbu na budovanie prípade vyhlásenia s tými, 4 logiky sú veľmi vítané. Ďakujeme !

oracle
2021-11-23 18:56:15
1

Najlepšiu odpoveď

0

Môžete použiť CASE ako to

case when volume <= 1000000000 then 2.4
     when volume <= 1500000000 then 2.2
     when volume <= 2000000000 then 1.9 
     else 1.7 end as perc

Test case

with dt as (
select 1000000000 volume from dual union all
select 1000000001 volume from dual union all
select 1500000000 volume from dual union all
select 1500000001 volume from dual union all
select 2000000000 volume from dual union all
select 2100000001 volume from dual)
select volume,
  case when volume <= 1000000000 then 2.4
       when volume <= 1500000000 then 2.2
       when volume <= 2000000000 then 1.9 
       else 1.7 end as perc
from dt;

    VOLUME       PERC
---------- ----------
1000000000        2,4
1000000001        2,2
1500000000        2,2
1500000001        1,9
2000000000        1,9
2100000001        1,7
2021-11-23 20:14:27

Ďakujem, Pane ! Som sa vyskúšať. Mať dobrú dovolenku !
Stanley Suzikya

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................