回答

收藏

将postgresql数组展开为行

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

在PostgreSQL中将数组解包装为行的最快方法是什么?例如,1 l$ X, O8 Q- f! M6 t6 r
我们有:, c: t1 {5 f9 \  \/ I' d6 G
a7 O6 J4 R) a, |6 i6 }* V
-
; z, q0 s! p6 Y4 R9 X) t{1,2}* r8 H" o, @5 ^/ r  c
{2,3,4}/ k$ a; B1 r  d; y5 Y1 L
我们需要:' ?; c: @" U) K
b
/ Q! p- }) C5 M4 W& N# F& w, r2 T% p- ) k1 y' G9 Q7 \# W; }
13 ?" n, ~+ O4 i9 U( b, b& _$ H
2. l; l8 N$ b% [8 H8 K2 w
2) s  z( B; G  J+ E3 P# n0 Y# e3 }
3* H! t! ~' f0 E( ?$ ^& ^
4/ c3 f: N$ ~$ R( c! b( N6 t5 y
我正在使用:# h5 J0 y4 b8 z6 V
select explode_array(a) as a from a_table;& U' I  ^; F  l& w1 J- g1 {
explode_array在哪里:
/ d3 d; u3 B2 D( D0 S" Zcreate or replace function explode_array(in_array anyarray) returns setof anyelement as
0 K, W' Z. I# C6 }6 E7 W% S$$
+ S6 @* l# i& g( B; A    select ($1)<strike> from generate_series(1,array_upper($1, 1)) as s;
. J- l, ~  o% D$$4 u- m5 v/ d' B* E
有什么更好的办法吗?% F1 v* O/ u! @! @; y
               
2 @. ?) M8 w  J% Q4 J' s解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则