回答

收藏

将postgresql数组展开为行

技术问答 技术问答 109 人阅读 | 0 人回复 | 2023-09-13

在PostgreSQL中将数组解包装为行的最快方法是什么?例如,( s0 E% s. i6 M. `1 E
我们有:- b4 D2 c! j1 S5 j2 M4 _
a
! O1 C3 z+ V/ ^- A) [  u-: N, @7 h- o  y% r$ W7 Q- \
{1,2}6 ^! m" ?9 F4 M9 P0 k2 Q" {' ~
{2,3,4}( A5 u+ e- c8 e. N+ x& S3 n  I( \
我们需要:
6 N6 j! |$ J" E: vb
7 u, D2 }5 m8 [+ q# V3 _6 G- 4 i% g$ B+ T/ V0 L3 Z, S
19 d$ n% n' m. Z/ I5 n, U
2; g+ E/ q0 [4 ~1 N6 ^9 i( A
2' v) K/ o# r( j$ D' u0 b" w1 y
33 X6 A: j5 s0 h+ u  }& a  P% D% J% i) e
4
: h" u; Q5 S; w, c( l9 y3 F; V我正在使用:$ T4 `+ s8 z) v$ P
select explode_array(a) as a from a_table;
8 m+ _7 u( O$ G) y, d# t+ nexplode_array在哪里:
: [6 }! Z. c1 u. \create or replace function explode_array(in_array anyarray) returns setof anyelement as
" w" t/ J( B7 `- c2 @3 K0 ^% ^$$
' D7 d4 ^' ]7 t    select ($1)<strike> from generate_series(1,array_upper($1, 1)) as s;
$ x& ^* y" l# m+ {9 X! S8 a/ D* h$$
, X& T* R# |2 |( Y有什么更好的办法吗?8 z0 u8 y4 e; X5 R8 C4 ^  V2 s! _
               
5 J8 P* V' D3 h解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则