基於10g中表達式的結果創建派生列是否有任何方法?基於表達式結果的Oracle派生列
具體來說,我繼承了一個表,其中包含varchar2字段中的字符數據和數字數據。顯然,在嘗試進行連接時不會導致頭痛,因爲當Oracle重新對我的查詢使用to_number()進行重新排序時,我會不斷得到「無效數字」錯誤。所以,我想要做的是創建一個派生列,如果原始列的值是數值,那麼它將有一個值,如果不是,則在NULL中使用它,而不是混合類型的字段。
請注意,我試圖在查詢中執行此操作,而不是在過程/函數中執行此操作。
這樣的事情可能嗎?
我會還建議將[正則表達式](http://psoug.org/reference/regexp.html)放入子查詢中,然後加入這些子查詢。注意兩件事情,(1)最好是將「一列全部統治」分開,並將該表分成兩列,以避免這些問題(數字到數字,文本到文本)。 (2)如果你有一個像'12 abc 34 def'這樣的列,你最好確保你的regExp採用了你想要的阿爾法和你想要的數字,但是我強烈建議修復這個表並且用#1 – Harrison 2012-07-10 15:40:23
你不能很容易)決定在查詢中首先執行哪些子句。如果連接在過濾器之前執行,則會導致數字轉換錯誤。 – 2012-07-10 15:53:12