33.1 FORMATファンクション

置換を適用し、書式設定された文字列を戻します。

<n>番目に出現する%sp<n>に、出現する各%<n>p<n>に置換してから、p_messageを戻します。p_max_lengthがnullでない場合は、p<n>のかわりにsubstr(p<n>,1,p_arg_max_length)が使用されます。

構文

format (
     p_message    in varchar2,
     p0           in varchar2     default null,
     p1           in varchar2     default null,
     p2           in varchar2     default null,
     p3           in varchar2     default null,
     p4           in varchar2     default null,
     p5           in varchar2     default null,
     p6           in varchar2     default null,
     p7           in varchar2     default null,
     p8           in varchar2     default null,
     p9           in varchar2     default null,
     p10          in varchar2     default null,
     p11          in varchar2     default null,
     p12          in varchar2     default null,
     p13          in varchar2     default null,
     p14          in varchar2     default null,
     p15          in varchar2     default null,
     p16          in varchar2     default null,
     p17          in varchar2     default null,
     p18          in varchar2     default null,
     p19          in varchar2     default null,
     p_max_length in pls_integer  default 1000,
     p_prefix     in varchar2     default null )
     return varchar2

パラメータ

表33-1 FORMATファンクションのパラメータ

パラメータ 説明

p_message

置換プレースホルダがあるメッセージ文字列。

p0-p19

置換パラメータ数。

p_max_length

nullでない場合(デフォルトは1000)、各p<n>の上限はp_max_length文字です。

p_prefix

設定した場合、各行から先頭の空白および指定された接頭辞が削除されます。このパラメータは、インデントされている複数行のテキストの書式設定を簡略化するために使用できます。

apex_string.format('%s+%s=%s', 1, 2, 'three')
-> 1+2=three

apex_string.format('%1+%2=%0', 'three', 1, 2)
-> 1+2=three    
apex_string.format (
    q'!begin
      !    if not valid then
      !        apex_debug.info('validation failed');
      !    end if;
      !end;!',
    p_prefix => '!' )
 -> begin
        if not valid then
            apex_debug.info('validation failed');
        end if;
    end;