我有一个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