Oracle Virtual Trader'ın Vaka Bildirimi syntex sorusu

0

Soru

Tüm Bilgeliklere,

Şu anda excel hesaplamalarını otomatikleştirmek için Oracle 12.1.3'te RDBMS 11.2 ile Virtual trader adlı bir modül kullanıyorum. Esasen Excel mantığını Oracle'daki bir syntex'e kapsar.

Örneğin, xxcp_cu_cpa.get_tp_rates ({D1040},{D1031},{D1047},'Oran 4') TP Oranları tablosuna gidip Oran 4'ü almak anlamına gelir.

Şu anda, bazı Case deyimi ile oluşturmak için aşağıdaki tabloya sahibim. Yalnızca to_number({D2222}) > to_number({D21111}) sonra to_number({D2226} - {D2432}) else to_number({D2127}) sona erdiğinde case gibi 1 mantığı olan bir Case deyimini biliyorum

Kural Hacim aralığı Aralığı Uygulanabilir % 1.000.000.000 1.000.000.000 2.40'a kadar%
1,500,000,000 500,000,000 2,20'ye kadar%
2.000.000.000 500.000.000 1.90'a kadar%
2.000.000.000 - 1.70'in üzerinde%

Bu nedenle, bu 4 mantıkla bir dava beyanı oluşturma konusundaki herhangi bir geri bildirim büyük beğeni topluyor. Teşekkürler!

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

En iyi cevabı

0

Bir kullanabilirsiniz CASE bunun gibi

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 örneği

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

Teşekkürler Efendim ! Test edeceğim. İyi tatiller !
Stanley Suzikya

Diğer dillerde

Bu sayfa diğer dillerde

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