2010-11-08 92 views
1

是否有關於CASE語句的某些內容會自動打斷使用MINUS的查詢?我將一個數據集的實時拉取與前一個緩存進行比較,即使實時拉取中的CASE語句返回純VARCHAR2結果,我也會得到它們與緩存表中靜態值之間的類型不匹配,也作爲VARCHAR2存儲。SQL CASE語句和MINUS

我能想到的唯一其他可能性甚至不太可能 - 可能是單引號中的連接(||)或文字,這兩種都出現在CASE結果中,會使事情變壞嗎?

+5

您的查詢樣本包括您的CASE陳述應該可以幫助我們爲您提供幫助。 – 2010-11-08 17:23:24

回答

1

在你的SELECT語句中,除了這個CASE之外,還有其他字段嗎? MINUS嘗試比較整個行,也許其他一些值不匹配。

您是否嘗試修剪案例(TRIM(CASE foo WHEN..)以查看您是否滑落了任何內容?

所有分支都返回VARCHAR2嗎?有時,即使一個分支返回一個數字或一個日期,也可能會混淆這些類型。

+0

那麼,每個語句的其中一個分支就是這樣拼湊起來的URL: – Alex 2010-11-08 17:58:12

+0

'literal text string'|| CHAR_VALUE || '文字字符串'|| NUM_VALUE || '文本字符串'(是否有任何方法可以在評論中插入換行符)但是即使對NUM_VALUE,或者整體或兩者都打TO_CHAR也不能解決問題。 – Alex 2010-11-08 18:00:29

+0

好吧,有趣的是,我試着再次將TO_CHAR放在NUM_VALUE和整個分支上,這次它工作。是的,我將不得不想出一個方法來給出我在網上做什麼的有意義的例子,而不會發布任何可能與僱主相關的東西 - 我正在工作的專有元素(這是說,全部)。 – Alex 2010-11-08 18:18:51