postgresqlは、アレイを操作するためのさまざまな方法を提供します。 1つの一般的な操作は、等しい長さの2つの配列を要素のペアに組み合わせることです。この記事では、PostgreSQLバージョンと特定のユースケースを考慮して、このタスクを達成するためのさまざまなアプローチを調査します。複数の配列を1つの高次元配列に連結します。この機能により、配列の組み合わせタスクが簡素化され、カスタム集約関数の必要性が排除されます。 unnest( '{a、b、c}' :: text [])as a、unnest( '{d、e、f}' :: text [])as b; from from unnest( '{a、b、c}' :: text []、 '{d、e、f}' :: text []) TMP(a、b);
arrayを多次元アレイに結合する必要がある場合、カスタム集合体関数が必要です。 AnyArray言語SQL ASのセットを返します $ func $ 配列[配列[a、b]]を選択します unnest1としてunnest($ 1)から(a、b); $ func $; select array_agg_mult(array [a、b]])as ab unnest( '{a、b、c}' :: text [])as a、unnest( '{d、e、f}' :: text [])as b; AnyArray言語SQL ASのセットを返します $ func $ select array_agg_mult(array [asray [a、b]]) unnest1としてunnest($ 1)から(a、b) Unnest2としてUnnest($ 2)に参加する(a、b) 真実について; $ func $;
usageシナリオ
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;
シンプルなジッピング:
の配列の組み合わせ(単一角形) output)。 arrays。この記事では、利用可能なアプローチを包括的にカバーしているため、特定のニーズに最適な方法を選択できます。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3