Заявление о случае виртуального трейдера Oracle syntex вопрос

0

Вопрос

Ко всем Премудростям,

В настоящее время я использую модуль под названием Virtual trader в Oracle 12.1.3 с СУБД 11.2 для автоматизации вычислений Excel. Это, по сути, скрывает логику Excel в синтексе в Oracle.

Например, xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047}, "Ставка 4") означает, что перейдите в таблицу ставок TP и получите ставку 4.

В настоящее время у меня есть следующая таблица для построения с помощью некоторого оператора Case. Я знаю только оператор Case с логикой 1 , например, случай, когда to_number({D2222}) > to_number({D21111}), затем to_number({D2226} - {D2432}), иначе to_number({D2127}) заканчивается

Правило Допустимый разрыв диапазона громкости % До 1,000,000,000 1,000,000,000 2,40%
До 1 500 000 000 500 000 000 2,20%
До 2 000 000 000 500 000 000 1,90%
Выше 2,000,000,000 - 1,70%

Таким образом, любая обратная связь по построению изложения дела с использованием этих 4 логик чрезвычайно ценится. Спасибо!

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

Лучший ответ

0

Вы можете использовать CASE подобный этому

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

Тестовый случай

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

Спасибо, сэр ! Я проверю это. Хорошего вам отдыха !
Stanley Suzikya

На других языках

Эта страница на других языках

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