首頁 > 資料庫 > mysql教程 > PostgreSQL 中如何將兩個長度相等的數組合併為二維數組?

PostgreSQL 中如何將兩個長度相等的數組合併為二維數組?

Susan Sarandon
發布: 2025-01-04 19:29:41
原創
804 人瀏覽過

How Can I Merge Two Arrays of Equal Length into a Two-Dimensional Array in PostgreSQL?

在PostgreSQL 中將數組與類似Zip 的功能結合起來

問題:PostgreSQL 中是否有一個專門的函數可以將兩個長度相等的數組合併為一個二維的數組?

答案:

Postgres 9.5 及更高版本

引入array_agg(陣列表達式),這是一個強大的工具,可將所有輸入數字組合併為一個高一維的數組。此函數有效地取代了對 array_agg_mult() 等自訂聚合函數的需求。

Postgres 9.4

利用 ROWS FROM 或增強的 unnest() 函數同時取消嵌套多個陣列。產生的數組大小將與最大的輸入數組匹配,較小的數組用空值填充。

Postgres 9.3 及更早版本

一維數組的簡單Zip():

利用unnest() 函數創建一個簡單的zip() 功能,該功能可以並行取消兩個數組的巢狀。只要數組具有相同數量的元素,這種方法就有效。

多維數組的 Zip():

將未巢狀的陣列組合成二維陣列需要自訂聚合函數,如 array_agg_mult()。此函數將各個數組聚合成一個多維數組。要將此函數用於 zip() 功能,請將其包裝在單獨的函數中,

以上是PostgreSQL 中如何將兩個長度相等的數組合併為二維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板