Oracle虚拟交易的情况下声明syntex问题

0

的问题

所有的智慧,

我目前正在使用一个模块名为虚拟交易者在Oracle12.1.3与RDBMS11.2到自动化excel计算。 它基本上复羽Excel逻辑的一syntex在Oracle。

例如,xxcp_cu_cpa.get_tp_rates({D1040},{D1031},{D1047},'4')意味着,去TP率表而获得率4.

目前,我有如下的表建立与一些情况下的发言。 我只知道一种情况下的声明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ý
..................................................................................................................