0
SELECT array_agg(f) FROM (SELECT blah FROM stuff) f
というプロセスがあることは知っていますが、SQLでは素晴らしいですが、PL/pgSQLで関数を書くときには、返されたSETOFをPL/PgSQL(具体的には)の配列に変換する
私は長さを見るために使用できる配列にJSONキーを入れようとしています。 のような何か...
v_len := array_length(array_agg(json_object_keys(myjson)), 1);
の代わりに、長い、変数を宣言し、私が行ってきたSELECT array_agg(f) INTO ...
を行います。私は、同じSQL文字列を使用して何百もの実装をしているようですが、私は本当に私のコードを削減したい、私の指がすべての冗長な入力から麻痺している。
この省略方法では何が欠けていますか?
恐ろしいを使用することができ、それが短いと便利な何かを知っていました。私はあなたのようにソリューションを使用して終了しました... 'array_length(ARRAY(SELECT rs FROM json_object_keys(myjson)rs)、1)'は、JSONキーの数を取得するためにきれいに動作します。 –
@GuyPark: 'SELECT rs FROM json_object_keys(myjson)rs'を' SELECT json_object_keys(myjson) 'に短縮することができます –
そのニックのための歓声 –