2016-07-22 58 views
0

我正在使用Oracle SQL Developer中的LONG列,此列包含需要刪除的回車符。使用後,我發現了錯誤:無法使用REPLACE函數刪除LONG數據類型列中的回車符

REPLACE (col_name , CHR(13) , '')是:

ORA-00932:不一致的數據類型:預期CHAR了LONG 00932. 00000 - 「不一致的數據類型:有望%S得了%的」

有沒有解決方法?

回答或建議將不勝感激!

回答

0

對於LONG數據類型列,您幾乎不能執行任何操作。您應該將它們轉換爲CLOB。你只是找到了一個原因。

https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_long_lob.htm

有一個to_lob()函數LONG轉換爲CLOB,但只能在一個insert語句的select部分被使用(即,它只能被用於將LONG列轉換爲CLOB列)。轉換後,在生成的CLOB上使用文本函數應該沒有問題。你可能也想看看具體CLOB函數在DBMS_LOB包:

http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_lob.htm#ARPLS600

+0

非常感謝!我可以使用插入語句將其轉換爲CLOB,然後使用TO_LOB函數。 –

+0

酷!現在真正的問題是:你是否經常使用LONG值,或者這是一件非常罕見的事情?如果您需要經常與他們合作,您可能需要轉換爲CLOB(因爲Oracle在過去的20年中一直在催促我們),或者影響那些有權做出這一決定的人。尋找與LONG一起工作的變通辦法浪費了更多的時間,資源和金錢,而不是一勞永逸地轉變成LONG的過程。祝你好運! – mathguy

相關問題