PostgreSQL json配列のサイズを取得する

PostgreSQL json配列のサイズを取得する

PostgreSQLで、json配列のサイズを取得する手順を記述してます。「json_array_length」の引数にjson配列を使用することで可能です。

環境

  • OS CentOS Stream release 9
  • PostgreSQL 15.1
  • pgadmin4 6.16

json配列のサイズを取得

json配列のサイズを取得するには、「json_array_length」を使用します。

json_array_length(引数);

実際に、実行してみます。

SELECT 
json_array_length('["aaa"]'::json),
json_array_length('["aaa", "bbb", "ccc"]'::json),
json_array_length('[{"name" : "taro", "age" : "10"}]'::json);

実行結果をみるとサイズが取得されていることが確認できます。

配列データを使用するとエラーが発生します。

SELECT 
json_array_length(array["aaa"]);

ERROR:  列"aaa"は存在しません
LINE 2: json_array_length(array["aaa"]);
                                ^
SQL 状態: 42703
文字: 33

実行結果

空を指定

引数を空にしてもエラーが発生します。

SELECT 
json_array_length();

ERROR:  関数json_array_length()は存在しません
LINE 2: json_array_length();
        ^
HINT:  指定した名前と引数型に合致する関数がありません。明示的な型変換が必要かもしれません。
SQL 状態: 42883
文字: 9

実行結果