sql >> データベース >  >> RDS >> Oracle

4000文字以上のCLOB列を表示する

    チャンクを別々の行として表示できると思いますか?

    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
    


    1. データベースバックアップ暗号化-ベストプラクティス

    2. データベースにテーブルが存在するかどうかを確認する際の問題

    3. SQLServerの論理OR演算子とは-SQLServer/TSQLチュートリアルパート119

    4. PHPを適切に使用してMySQLオブジェクトをJSONにエンコードするにはどうすればよいですか?