2010-04-23 102 views
4

我有一个Oracle表,其列是CLOB数据类型。我想以文本形式阅读此表的内容。将clob转换为varchar2

我试过select dbms_lob.substr(sqltext, 4000, 1) from test但这只选择了前4000个字节。如何阅读整个内容? sqltext列中有超过4000个字符。请指教。

+1

您使用访问Oracle什么语言/框架? – 2010-04-23 19:52:35

+0

我正在使用SQLplus。 – Shamik 2010-04-23 20:27:34

回答

3

如果您正在使用另一种Java语言来读取数据,JDBC驱动程序提供读取CLob和Blob列的方法。

对于在SQL客户端上使用直接SQL查询来读取这样的列,它不会使用开箱即用,因为必须使用流来读取大于4000字节的clob和blob值。您需要编写PL/SQL来执行此操作。这里是一个有用的链接,你可以看看

http://www.dba-oracle.com/t_read_blob.htm

+0

谢谢,非常有用的链接。 – Shamik 2010-04-23 20:27:11