• 締切済み

CLOBの容量確認

 CLOBに入力されたデータを分割して表示する必要がありまして、 「何バイト」入っているか知りたいのですが、どのようにしたらよいでしょうか? 全角文字、半角文字が混在するデータのため、どうしてよいかわからない状態になっています。 「何文字」入っているかは、DBMS_LOB.GETLENGTHで調べればよいのは わかっているのですが・・。

みんなの回答

  • nopo3
  • ベストアンサー率40% (8/20)
回答No.1

実際に環境がここにないので正しいかわからないですが、 文字数を出す際は、length。 文字バイト数を出す際は、lengthb。 を使用します。CLOBでもサポートされていると思います。 -------------------------------------------------- 例) SELECT LENGTHB('CANDIDE') "Length in bytes" FROM DUAL; -------------------------------------------------- 分割と言う意味ですと、 バイト単位ではsubstrb関数を使用するのが良いと思います。 -------------------------------------------------- 例) SELECT SUBSTRB('ABCDEFG',3,2) "Substring with bytes" FROM DUAL; --------------------------------------------------