oracle根據時間區間獲取的每一個時間點

客戶需求,獲取某一個時間區間的每天的賬戶餘額,最初的方案是,得到日期區間天數,然後循環,進行查詢數據庫得到每一天的餘額,然而這種方案性能較差,如果時間區間爲30天,或100天,就要建立30次甚至跟多的數據庫連接, 嚴重影響性能。於是通過orcal建立虛擬表的方式,獲取到詳細的區間,具體實現sql是,查詢結果如圖所示。而後根據每日餘額表進行關聯。

select * from (SELECT TO_DATE('2018-01-01', 'yyyy-mm-dd') + ROWNUM - 1 DAY_DATE 
FROM DUAL 
CONNECT BY ROWNUM <= TO_DATE('2018-01-31', 'yyyy-mm-dd') - TO_DATE('2018-01-01', 'yyyy-mm-dd')+ 1) s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章