Oracle Virtual Obchodníka Případě Prohlášení syntex otázku

0

Otázka

Na všech Moudrostí,

Já jsem v současné době pomocí modulu s názvem Virtuální obchodník v Oracle 12.1.3 s RDBMS 11.2 pro automatizaci aplikace excel výpočty. Je to v podstatě houští Excel logiku syntex v Oracle.

Například, xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047},'Rychlost 4') znamená, že jít do TP Sazby v tabulce a získat Rychlost 4.

V současné době mám následující tabulka stavět s nějakou Case. Vím jen, že v Případě prohlášení s 1 logika , jako je případ, kdy to_number({D2222}) > to_number({D21111}), pak to_number({D2226} - {D2432}) ostatní to_number({D2127}) end

Pravidlo Objem rozsah Mezery Použitelné % 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%
Výše 2,000,000,000 - 1.70%

Takže, jakoukoli zpětnou vazbu na budování případě prohlášení s těmi 4 logik jsou velmi ocenil. Děkuji!!!

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

Nejlepší odpověď

0

Můžete použít CASE takhle

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

Testovací případ

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

Děkuji vám, Pane ! Budu testovat. Mít dobrou dovolenou !
Stanley Suzikya

V jiných jazycích

Tato stránka je v jiných jazycích

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