Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh Zip Dua Array dalam PostgreSQL?
Mengzip Tatasusunan dalam PostgreSQL
Dalam PostgreSQL, menggabungkan dua tatasusunan yang sama panjang menjadi pasangan boleh dicapai menggunakan pelbagai kaedah.
Versi 9.5 dan Kemudian:
Postgres versi 9.5 memperkenalkan fungsi array_agg dengan binaan ROWS FROM, yang membenarkan penggabungan langsung tatasusunan:
SELECT ARRAY[a,b] AS ab FROM unnest('{a,b,c}'::text[], '{d,e,f}'::text[]) x(a,b);
Versi 9.4 dan Lebih Lama:
Sebelum 9.5, terdapat dua pendekatan:
Mengzip Mudah:
Untuk tatasusunan dengan bilangan elemen yang sama, gunakan pertanyaan berikut:
SELECT ARRAY[a,b] AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Mengzip untuk Tatasusunan Berbilang Dimensi:
Untuk menukar tatasusunan berzip menjadi tatasusunan berbilang dimensi, pertimbangkan fungsi agregat tersuai berikut:
CREATE AGGREGATE array_agg_mult (anyarray) ( SFUNC = array_cat , STYPE = anyarray , INITCOND = '{}' );
Gunakan fungsi agregat ini dengan operasi tidak bersarang:
SELECT array_agg_mult(ARRAY[ARRAY[a,b]]) AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Atas ialah kandungan terperinci Bagaimanakah saya boleh Zip Dua Array dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!