私はこのCLOB列を持っており、select文を使用して表示する必要があります。4000文字以上のCLOB列を表示
私はvarchar2
に変換するDBMS_LOB.SUBSTR
を使用:
select DBMS_LOB.SUBSTR(T1.CLOB_COL,4000,1) CLOB_COL from T1
私の問題は私のCLOBSの一部は4000の以上の文字が含まれています。どのように私はそれを表示することができます...任意のアイデア/提案?
ありがとうございます..
私はこのCLOB列を持っており、select文を使用して表示する必要があります。4000文字以上のCLOB列を表示
私はvarchar2
に変換するDBMS_LOB.SUBSTR
を使用:
select DBMS_LOB.SUBSTR(T1.CLOB_COL,4000,1) CLOB_COL from T1
私の問題は私のCLOBSの一部は4000の以上の文字が含まれています。どのように私はそれを表示することができます...任意のアイデア/提案?
ありがとうございます..
VARCHAR2の長さはSQLでアクセスすると4000バイトまでです。 4000バイトを超えるCLOBを処理する場合は、VARCHAR2に変換することはできません。CLOBとして処理する必要があります。
どのツールを使用しますか?
ほとんどのツール/言語は、CLOBとネイティブで連携できます。
select T1.CLOB_COL from T1
チャンクを別々の行として表示することはできますか?
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
多くの異なるテクニックを検索して試した後、これはまっすぐなSQLを使用して私のために働いた唯一のものです。他のほとんどのソリューションでは、PL/SQLまたは特殊なアクセス権を必要とするその他の方法が必要です。 – bobfet1
を返されたコードだろうか? – eaolson