Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

JSON_EXTRACT_ARRAY_ELEMENT_TEXT 関数 - Amazon Redshift

JSON_EXTRACT_ARRAY_ELEMENT_TEXT 関数

注記

JSON_PARSE および関連する関数は、JSON 値を SUPER として解析します。Amazon Redshift は、VARCHAR よりも SUPER をより効率的に解析します。

JSON_EXTRACT_ARRAY_ELEMENT_TEXT を使用する代わりに、JSON_PARSE 関数 を使用して JSON 文字列を解析し、SUPER 値を取得することをお勧めします。次に、value[element position] 構文を使用し、必要とする配列インデックスが含まれている要素をクエリします。SUPER 値の配列要素に対するクエリ実行の詳細については、「半構造化データのクエリ」を参照してください。

JSON_EXTRACT_ARRAY_ELEMENT_TEXT 関数は、JSON 文字列の最外部の配列内の JSON 配列要素 (0 から始まるインデックスを使用) を返します。配列内の最初の要素の位置は 0 です。インデックスが負または範囲外である場合、JSON_EXTRACT_ARRAY_ELEMENT_TEXT は NULL 文字列を返します。null_if_invalid の引数が TRUE に設定され、JSON 文字列が無効になっている場合、この関数はエラーを返す代わりに NULL を返します。

詳細については、「JSON 関数」を参照してください。

構文

JSON_EXTRACT_ARRAY_ELEMENT_TEXT('json string', pos [, null_if_invalid ] )

引数

json_string

正しくフォーマットされた JSON 文字列。

pos

返される配列要素のインデックスを表す INTEGER (0 から始まる配列インデックスを使用)。

null_if_invalid

(オプション) 入力 JSON 文字列が無効である場合に、エラーを返す代わりに NULL を返すかどうかを指定する BOOLEAN 値。JSON が無効な場合に NULL を返すには、true (t) を指定します。JSON が無効な場合にエラーを返すには、false (f) を指定します。デフォルトは false です。

戻り型

VARCHAR

pos によって参照される JSON 配列要素を表す VARCHAR 文字列。

配列の位置 2 の要素 (0 から始まる配列インデックスの 3 番目の要素) を返すには、次の例を使用します。

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('[111,112,113]', 2); +---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | 113 | +---------------------------------+

JSON が無効であるためエラーを返すには、次の例を使用します。

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1); ERROR: invalid json array object ["a",["b",1,["c",2,3,null,]]]

null_if_invalidtrue に設定し、ステートメントが無効な JSON のエラーを返す代わりに NULL を返すようにするには、次の例を使用します。

SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1,true); +---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | NULL | +---------------------------------+

次のステートメントサンプルについて考えてみます。指定された JSON 文字列またはインデックスが NULL の場合、JSON_EXTRACT_ARRAY_ELEMENT_TEXT は他のパラメータの値を問わず、NULL を返します。

--Statement where json_string is NULL. SELECT json_extract_array_element_text(NULL, 0) json_extract_array_element_text --------------------------------- NULL --Statement where pos is NULL and json_string is invalid JSON. SELECT json_extract_array_element_text('invalid_json', NULL); json_extract_array_element_text --------------------------------- NULL --Statement where json_string is NULL and null_if_invalid is FALSE. SELECT json_extract_array_element_text(NULL, 0, FALSE); json_extract_array_element_text --------------------------------- NULL

次のステートメントサンプルについて考えてみます。null_if_invalid が TRUE の場合、json_string が無効な JSON であれば、JSON_EXTRACT_ARRAY_ELEMENT_TEXT は NULL を返します。null_if_invalid が FALSE であったり、設定されていなかったりする場合、json_string が無効であれば、この関数はエラーを返します。

--Statement with invalid JSON where null_if_invalid is TRUE. SELECT json_extract_array_element_text('invalid_json', 0, TRUE); json_extract_array_element_text --------------------------------- NULL --Statement with invalid JSON where null_if_invalid is FALSE. SELECT json_extract_array_element_text('invalid_json', 0); ERROR: JSON parsing error

json_string が有効な JSON で、pos が JSON null 値を参照する、次の例について考えてみます。この場合、JSON_EXTRACT_ARRAY_ELEMENT_TEXT は、null_if_invalid の値を問わず、NULL を返します。

--Statement selecting a null value. SELECT json_extract_array_element_text('[null]', 0); json_extract_array_element_text ---------------------------------- NULL
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.