3
我在Oracle 12 c數據庫上有一個非常奇怪的行爲。當我做這樣的事情:Oracle 12c:trunc(日期)錯誤導致錯誤數據
select count(*) from fact_table, date_dim, dim_table where
date_dim.date >= trunc(sysdate)-1
and fact_table.DATE_ID = date_dim.DATE_ID
and fact_table.DIM_ID = dim_table.DIM_ID;
...我得到一定的數字。當我將'> ='更改爲'='時,奇怪的行爲開始 - 只有,然後才能獲得雙倍數額。我檢查了連接條件,但據我所知,如果我過濾日期'> ='昨天而不是日期'='昨天過濾的數量應該更大或相同。
爲什麼會發生這種情況?有沒有可能導致SQL中重複數據的設置?
編輯連接條件兩個連接條件只有1個結果。
如果 「加盟條件1」 啊, r「join cond 2」是'where where date_dim.date = trunc(sysdate)-1'或類似的東西,這種行爲會有道理,不是嗎? –
我不認爲你的結果的有效性可以在不知道'連接'條件是什麼的情況下進行評估。 –