Oracle Virtual del Comerciante Caso de Declaración de syntex pregunta

0

Pregunta

A todas las Sabidurías,

Actualmente estoy usando un módulo llamado Virtual comerciante en Oracle 12.1.3 con RDBMS 11.2 automatizar una gran cantidad de cálculos de excel. Esencialmente se convierte lógica de Excel a un syntex en Oracle.

Por ejemplo, xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047},'Ritmo de 4') significa que vaya a TP tabla de Tasas y obtener la Tasa de 4.

Actualmente, tengo la siguiente tabla para construir con algunos Casos de declaración. Yo sólo conozco un Caso de declaración con 1 lógica , como en el caso de cuando to_number({D2222}) > to_number({D21111}) entonces to_number({D2226} - {D2432}) else to_number({D2127}) end

La regla rango de Volumen de la Brecha Aplicables % Hasta 1,000,000,000 1,000,000,000 2.40%
Hasta 1 500 000 000 eua 500,000,000 2.20%
Hasta 2,000,000,000 500,000,000 1.90%
Por encima de 2,000,000,000 - 1.70%

Así, cualquier comentario sobre la construcción de una instrucción case con esos 4 lógicas son enormemente apreciados. Gracias !

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

Mejor respuesta

0

Usted puede utilizar un 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 prueba

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

Gracias, Señor ! Voy a probar. Tener unas buenas vacaciones !
Stanley Suzikya

En otros idiomas

Esta página está en otros idiomas

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