メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

JSON_ARRAY_LENGTH 関数

JSON_ARRAY_LENGTH は、JSON 文字列の外部配列内の要素数を返します。null_if_invalid の引数が true に設定され、JSON 文字列が無効になっている場合、関数はエラーを返す代わりに NULL を返します。

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

構文

Copy
json_array_length('json_array' [, null_if_invalid ] )

引数

json_array

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

null_if_invalid

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

戻り型

INTEGER

次の例は、配列内の要素数を返します。

Copy
select json_array_length('[11,12,13,{"f1":21,"f2":[25,26]},14]'); json_array_length ----------------- 5

次の例では、JSON が無効であるため、エラーが返されます。

Copy
select json_array_length('[11,12,13,{"f1":21,"f2":[25,26]},14'); An error occurred when executing the SQL command: select json_array_length('[11,12,13,{"f1":21,"f2":[25,26]},14')

次の例では、null_if_invalidtrue に設定しているため、ステートメントは、無効な JSON のエラーを返す代わりに NULL を返します。

Copy
select json_array_length('[11,12,13,{"f1":21,"f2":[25,26]},14',true); json_array_length -----------------

このページの内容: