ORACLE操作

[ORACLE] CLOB型をサイズを指定して文字型に変換する(DBMS_LOB.SUBSTR)

投稿日:

ORACLEのCLOB型をサイズを指定して文字型に変換するには、
DBMS_LOB.SUBSTR を使用します。

構文

(構文)
DBMS_LOB.SUBSTR(<CLOB型値(列名)> ,<取得文字数>, <開始位置>)

<取得文字数>と <開始位置> はバイト数ではなく文字数です。

サンプル

以下は、TESTTBL.COL1列がCLOB型で「あいうえおかきくけこ」という値がセットされている場合です。

例)最大4000文字分を取得する

SQL*Plus
SQL> select dbms_lob.substr(col1 ,4000, 1) from testtbl; DBMS_LOB.SUBSTR(COL1,4000,1) -------------------------------------- あいうえおかきくけこ

例)2文字目から5文字分を取得する

SQL*Plus
SQL> select dbms_lob.substr(col1 ,5, 2) from testtbl; DBMS_LOB.SUBSTR(COL1,5,2) -------------------------------------- いうえおか

備考

  • DBMS_LOB.SUBSTRで指定するサイズはバイト数ではなく文字数なので、全角文字を扱う場合は桁あふれにご注意ください。
  • 単にCLOB型を文字列に変換したいだけの場合はTO_CHAR関数が使えます。

関連項目


スポンサーリンク

スポンサーリンク

-ORACLE操作
-

執筆者:



comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサーリンク