51.9 CLOB_TO_BLOBファンクション

このファンクションは、CLOBを一時BLOBに変換します。

構文

APEX_UTIL.CLOB_TO_BLOB (
    p_clob              IN CLOB,
    p_charset           IN VARCHAR2 DEFAULT NULL,
    p_include_bom       IN VARCHAR2 DEFAULT 'N',
    --
    p_in_memory         IN VARCHAR2 DEFAULT 'Y',
    p_free_immediately  IN VARCHAR2 DEFAULT 'Y' )
RETURN BLOB;

パラメータ

表51-9 CLOB_TO_BLOBのパラメータ

パラメータ 説明
p_clob BLOBに変換するCLOB。
p_charset BLOBの変換先となる文字セット。省略した場合、文字セットの変換は実行されません。
p_include_bom 生成されたBLOBの先頭にBOMを付加します。
p_in_memory Yを指定した場合は、メモリーに一時LOBが作成されます。
p_free_immediately Yを指定した場合は、トップレベルのコールの後に一時LOBがクリーン・アップされます。

戻り値

CLOBコンテンツを含む一時BLOB。

次の例では、文字セット変換ありとなしでのCLOBからBLOBへの変換を示します。

DECLARE
    l_clob clob;
    l_blob blob;
BEGIN
    l_clob := to_clob( 'This is some CLOB content with umlauts: ü,ä,ö.' );

    l_blob := apex_util.clob_to_blob(
    p_clob => l_clob,
    p_charset => 'AL32UTF8' );

    sys.dbms_output.put_line( 'The utf-8 BLOB has ' || sys.dbms_lob.getlength( l_blob ) || ' bytes.' );

    l_blob := apex_util.clob_to_blob(
    p_clob => l_clob,
    p_charset => 'WE8ISO8859P1' );

    sys.dbms_output.put_line( 'The iso-8859-1 BLOB has ' || sys.dbms_lob.getlength( l_blob ) || ' bytes.' );
END;