簡體   English   中英

在調用用戶定義的 function 時將不同的日期作為參數傳遞,並在 oracle 中使用循環

[英]passing different date as parameter in calling a user defined function with a loop in oracle

假設我有一個用戶定義的 function 以日期為參數,即 to_date,from_date 但它有一個限制,它可以提供最大限制為三個月的數據,但我需要一年的數據,我應該怎么做.. function

select *
from table(height_DOL.DOL_PKG_DATA.FN_GET_height_DATA(IN_FROM_EFFECTIVE_DATE => '11-JAN-20',IN_TO_EFFECTIVE_DATE => '11-APR-20')); 

借助 oracle 中的循環

如果無法更改 function,則可以使用UNION

select *
  from table(height_DOL.DOL_PKG_DATA.FN_GET_height_DATA(IN_FROM_EFFECTIVE_DATE => '11-JAN-20',IN_TO_EFFECTIVE_DATE => '11-APR-20'))
UNION ALL
select *
from table(height_DOL.DOL_PKG_DATA.FN_GET_height_DATA(IN_FROM_EFFECTIVE_DATE => '11-APR-20',IN_TO_EFFECTIVE_DATE => '11-JUN-20'))
UNION ALL
...
...

這是一種可用於過濾 1 年數據的方法-

SELECT *
From T
WHERE date_column > DATEADD(year,-1,GETDATE())

或這個

select *
from
height_DOL.DOL_PKG_DATA.FN_GET_height_DATA
where IN_FROM_EFFECTIVE_DATE => '11-JAN-20' and IN_TO_EFFECTIVE_DATE <= '11-APR-20';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM