我有一個小時的維度(時間維度)星型模式數據庫的時間維度,有以下的列在裏面:PLSQL:查詢星型模式不存儲日期
ID, ON_HOUR, ON_DAY, IN_MONTH, IN_YEAR
我然後查詢數據庫,並且我想根據這個小時尺寸在給定日期的時間間隔內找到所有條目。
然而,比較ON_DAY屬性與間隔天數等等與IN_MONTH和IN_YEAR,我經常可以達到一個情況,我沒有收到任何數據,如果間隔跨越幾個月。因此,我需要將這些值轉換爲時間戳,但是我正在查詢數據庫,因此如何正確比較給定的時間戳和時間數據?我沒有在數據庫中存儲DATE或TIMESTAMP,我應該改變它嗎?
現在,我的最好的方法是這樣的:
to_timestamp('H.IN_YEAR-H.IN_MONTH-H.ON_DAY H.ON_HOUR:00:00', 'YYYY-MM-DD hh24:mi:ss')
這似乎並不不過工作,而且看起來也狡猾,所以我真的不希望它...
在給定的日期間隔內獲得條目的最佳方式是什麼?
爲什麼你認爲你需要一個存儲過程? –