カテゴリ:

半構造化データ関数 (抽出)

GET

オブジェクトまたは配列から値を抽出します。引数のいずれかが NULL の場合、 NULLを返します。

この関数を GET DML コマンドと混同しないでください。

こちらもご参照ください。

GET_IGNORE_CASEGET_PATH 、 :

構文

GET( <object> , <field_name> )

GET( <v> , <field_name> )

GET( <array> , <index> )

GET( <v> , <index> )

使用上の注意

  • GET は、フィールド名に大文字と小文字を区別したマッチングを適用します。大文字と小文字を区別しないマッチングについては、代わりに GET_IGNORE_CASE を試します。

  • GET は、次の方法で呼び出すことができるバイナリ関数です。

    • オブジェクト は OBJECT 値、 フィールド名 は文字列値で、定数または式です。

      この GET のバリエーションは、オブジェクト値から指定された名前を持つフィールドの VARIANT 値を抽出します。フィールドが見つからない場合、 NULL が返されます。フィールド名は空の文字列であってはなりません。

    • v は、VARIANT 値、 フィールド名 は文字列値で、定数または式です。

      GET は オブジェクト と同様に機能しますが、さらに v にオブジェクト値が含まれていることを確認します( v にオブジェクトが含まれていない場合は NULL を返します)。

    • 配列 は ARRAY 値、 インデックス は整数で、定数または式です。

      この GET のバリエーションは、指定されたインデックスを持つ配列要素の VARIANT 値を抽出します。インデックスが配列の境界の外側を指す場合、またはインデックス付き要素が存在しない場合(スパース配列内)、この関数は NULL を返します。

    • v は VARIANT 値、 インデックス は整数で、定数または式です。

      GET は 配列 と同様に機能しますが、さらに v が配列値を含むことを確認します( v が配列を含まない場合は NULL を返します)。

indoor に等しいフィールドとフィールド sensorType が、 vartab テーブル内のすべてのオブジェクトからフィールド temperature の最大値を抽出します。

SELECT MAX(AS_REAL(GET(v, 'temperature'))) FROM vartab WHERE AS_CHAR(GET(v, 'sensorType')) = 'indoor';

より詳細な例については、 半構造化データのクエリ をご参照ください。