ORACLE 實現不規則公式解析

2021-10-06 08:46:18 字數 1222 閱讀 6342

在實際應用中會用到很多指標,由各個因子組成,公式直接放在公式表中,因此需要解析。

動態sql僅適用於固定個數計算因子的方式,以下方式適用於計算因子不固定的公式

以下是用到的表結構:

bas

name

valb11b2

2b33b4

4b55

注:該錶存放基礎指標及指標值

der

name

vala1a1

注:該錶存放要計算的派生指標gs

zbgs

a1[b1]+[b2]-[b3]

a2[b4]+[b5]

注:該錶存放指標及計算公式

以下為儲存過程,目前只測試了oracle,其他資料庫未測試

create or replace procedure jx is

begin

for cur in (select

a.zb,

a.gs,

a.rn,

a.gs_value,

b.name,

b.val,

max(a.rn) rn_over

from (select zb,

gs,column_value as rn,

regexp_substr(gs,

'\[[a-z0-9]*\]',

1,column_value) as gs_value

from gs,

table(cast(multiset

(select level

from dual

connect by level <=

(length(gs) -

length(replace(replace(gs,

'['),

']'))) / 2) as

sys.odcinumberlist))

)   a

left  join bas b

on b.name = replace(replace(a.gs_value,'['),']')                  

) loop

if cur.rn < cur.rn_over

then 

set cur.gs = replace(cur.gs,cur.gs_value,cur.val);

end loop

end jx;

以上為大致思路,還沒編譯通過,只做存檔。

不規則的JSON解析(一)

現有如下資料結構 goodsid 是無限延伸下去的,問如何解析。顯然,定義類然後解析的思路肯定行不通,即使用dynamic 不需要定義實體類,直接取對應key的值 如 dynamic obj jsonconvert.deserializeobject json 這樣也不行,原因是obj.orderi...

QT實現不規則窗體

看到網上有很多不規則窗體的實現,效果很酷.於是使用qt也實現了乙個,qt的不規則窗體實現非常簡單,只需要設定乙個mask 遮掩 這個的格式可以使用png或bmp格式,我使用了png格式,預設窗體是矩形的,使用png影象,將需要隔離在窗體之外的區域的畫素設定為白色或透明色,其他顏色的區域對應顯示出來的...

GDI 實現不規則窗體

先來看一下實現的效果,下圖中那個娃娃就是我們要實現的不規則窗體啦 使用gdi 還需要進行初始化 在應用初始化時,啟動gdi 在程式退出時,關閉gdi png是實現不規則窗體的關鍵,因為它本身就是帶透明效果的,把這種格式的作為窗體本身就是不規則的。首先我們需要載入這張,在這裡我沒有將其作為資源新增到專...