我有一個Oracle表,其中包含一個包含ASCII字符數據的LONG RAW類型的字段。我如何編寫一個查詢或視圖,將其轉換爲更容易使用的字符串?這些將始終是單字節字符,FWIW。將small-ish Oracle長原始值轉換爲其他類型
1
A
回答
2
也許
select ...., to_lob(long_raw) from old_table
(http://www.psoug.org/reference/convert_func.html)
或
UTL_RAW.CAST_TO_VARCHAR2(b)
0
我發現這句話:
在Oracle9i中,你甚至可以:
ALTER TABLE OLD_TABLE修改(C CLOB );
將其轉換。
在這裏看到:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1037232794454
編輯
一個VARCHAR2列的最大長度是4000是不是太短了?
0
我發現這在CLOB數據類型上工作得很好。我相信對於LOB類型也是如此。
create or replace function lob2char(clob_col clob) return varchar2 IS
buffer varchar2(4000);
amt BINARY_INTEGER := 4000;
pos INTEGER := 1;
l clob;
bfils bfile;
l_var varchar2(4000):='';
begin
LOOP
if dbms_lob.getlength(clob_col)<=4000 THEN
dbms_lob.read (clob_col, amt, pos, buffer);
l_var := l_var||buffer;
pos:=pos+amt;
ELSE
l_var:= 'Cannot convert. Exceeded varchar2 limit';
exit;
END IF;
END LOOP;
return l_var;
EXCEPTION
WHEN NO_DATA_FOUND THEN
return l_var;
END;
INSERT INTO NEWTABLE (NEWCOLUMN) SELECT RTRIM(lob2char(OLDCOLUMN)) FROM OLDTABLE;
+0
什麼是LOOP? – 2009-01-08 21:59:51
相關問題
- 1. 長轉換爲原始JDBC
- 2. 將mmapped ByteString轉換爲其他類型?
- 3. 將對象轉換爲其他類型
- 4. 無法在oracle中將長數據類型轉換爲xml
- 5. LLDB(Swift):將原始地址轉換爲可用類型
- 6. 將原始字節轉換爲.NET中的類型
- 7. 將原始數據類型轉換爲NSNumber
- 8. 將字符串轉換爲未知的原始類型
- 9. 如何將PSafeArray項目轉換爲原始類型
- 10. 如何將.NET WebService-Method-Result(Soap)轉換爲其原始數據類型?
- 11. 原始類型轉換,無需拳擊
- 12. 將jQuery轉換爲原型
- 13. 如何將具體語法值轉換爲其他類型的值?
- 14. Pandas iterrows將列的類型更改爲浮動。如何將其轉換回原始類型?
- 15. 如何將String []或Object []的組件轉換爲其他類型
- 16. JavaScript將Blob轉換爲Float32Array(或其他類型的數組)
- 17. 將SQL類型轉換爲速度中的其他內容
- 18. 將JPEG和其他類型轉換爲TGA
- 19. 將json格式轉換爲其他數組類型json格式
- 20. 如何將NSSize,NSinteger和其他數據類型轉換爲NSString?
- 21. Haskell IO:將IO字符串轉換爲「其他類型」
- 22. quickfix:如何將FIX :: Account轉換爲c_string或其他類型
- 23. 從對象轉換爲原始類
- 24. 無法將Weblogic結構類型轉換爲Oracle結構類型
- 25. Java:轉換原始類
- 26. 轉換Oracle中的原始數
- 27. Java泛型 - 原始類型和參數化類型轉換
- 28. 整型爲原始類型
- 29. 將字符串值轉換爲類型
- 30. vb.net Json將值轉換爲類型
現有的和非常脆弱的應用程序當前使用這張表,所以我不想修改現有的表格,因爲害怕敲開卡片房子。 – 2009-01-08 22:05:32