oracle - 显示 4000 多个字符的 CLOB 列

标签 oracle clob

我有这个 CLOB 列,我需要使用 select 语句显示它。

我用过 DBMS_LOB.SUBSTR将其转换为 varchar2 :

select DBMS_LOB.SUBSTR(T1.CLOB_COL,4000,1) CLOB_COL from T1

我的问题是我的一些 CLOBS 包含超过 4000 个字符。我怎样才能显示它...任何想法/建议?

多谢..

最佳答案

我猜你可以将块显示为单独的行?

SELECT ROWNUM as chunk_no,ID, SUBSTR (t1.clob_col, (ROWNUM-1)*4000, 4000) AS chunk
FROM t1
CONNECT BY (ROWNUM-1)*4000 <= LENGTH(t1.clob_col)

或者,如果您的系统中可能存在 clob 的最大大小限制,您可以硬编码返回的文本列数
SELECT SUBSTR (t1.clob_col, 1, 4000) AS pt1,
       CASE WHEN LENGTH (t1.clob_col) > 4000  THEN SUBSTR (t1.clob_col, 4001, 4000) END AS pt2,
       CASE WHEN LENGTH (t1.clob_col) > 8000  THEN SUBSTR (t1.clob_col, 8001, 4000) END AS pt3,
       CASE WHEN LENGTH (t1.clob_col) > 12000 THEN SUBSTR (t1.clob_col, 1201, 4000) END AS pt4
FROM t1

关于oracle - 显示 4000 多个字符的 CLOB 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7357999/

相关文章:

mongodb - Riak 是否推荐用于存储和流式传输大型二进制文件?

Oracle Data Integrator 标量函数用法

oracle - 报表生成器-多种语言的报表

java - 在 Jasper 中显示 CLOB

java - 如何在 iReport 中显示 CLOB(或 BLOB)字符串?

sql - 使用 SQL select 语句的 derby clob 异常或建议我另一种没有长度设置的 derby 数据类型

java - 无法使用 IntelliJ 连接到 Oracle 数据库,无法识别区域设置

c# - 分布式应用程序,密码哈希

sql - 如何将一个表中的多个值插入到另一个表中?

Oracle LOB 未内联存储