21.19 GET_VARCHAR2ファンクション

このファンクションは、varchar2メンバー値を戻します。このファンクションは、ブール値および数値をvarchar2値に変換します。

構文

APEX_JSON.GET_VARCHAR2 (
    p_path             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,
    p_default          IN BOOLEAN  DEFAULT NULL,
    p_values           IN t_values DEFAULT g_values )
RETURN VARCHAR2;

パラメータ

表21-21 GET_VARCHAR2ファンクションのパラメータ

パラメータ 説明

p_path

p_valuesへの索引。

p[0-4]

p_pathの各%NをpNで置き換え、i-th %sまたは%dをすべてp[i-1]で置き換えます。

p_default

メンバーが存在しない場合のデフォルト値。

p_values

解析されたJSONメンバー。デフォルトは、g_valuesです。

戻り値/発生するエラー

表21-22 GET_VARCHAR2ファンクションの戻り値および発生するエラー

戻り値 説明

VARCHAR2

これは指定されたパスの位置にある値です。

VALUE_ERROR

p_values(p_path)が配列またはオブジェクトではない場合、このエラーが発生します。

この例では、JSON文字列を解析し、位置にある値を出力します。

DECLARE 
    j apex_json.t_values; 
BEGIN 
    apex_json.parse(j, '{ "items": [ 1, 2, { "foo": 42 } ] }'); 
    dbms_output.put_line(apex_json.get_varchar2(p_path=>'items[%d].foo',p0=> 3,p_values=>j)); 
END;