O Oracle Virtual Comerciante de Instrução do Caso syntex pergunta

0

Pergunta

Para todas as Sabedorias,

Atualmente, estou usando um módulo chamado trader Virtual no Oracle 12.1.3 com RDBMS 11.2 para automatizar os cálculos do excel. Essencialmente, ele converte lógica de Excel para um syntex no Oracle.

Por exemplo, xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047},'Taxa de 4') significa que vá para TP tabela de Taxas e obter a Taxa de 4.

Atualmente, eu tenho a tabela a seguir para compilação com alguns instrução do Caso. Eu só conheço um Caso de declaração de 1 de lógica , como o caso quando to_number({D2222}) > to_number({D21111}), em seguida, to_number({D2226} - {D2432} else to_number({D2127}) end

Regra Volume intervalo de Gap Aplicáveis % Até 1.000.000.000 1.000.000.000 de 2.40%
Até 1,500,000,000 500,000,000 2.20%
Até 2.000.000.000 500,000,000 1.90%
Acima de 2.000.000.000 de - 1.70%

Assim, qualquer feedback sobre a construção de um case com aqueles 4 lógicas são muito apreciados. Obrigado !

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

Melhor resposta

0

Você pode usar um CASE como este

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

Caso de teste

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

Obrigado Senhor ! Vou testar. Tenham um bom feriado !
Stanley Suzikya

Em outros idiomas

Esta página está em outros idiomas

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