Postgresql Postgres-将一个元素作为数组重复N次
例如,如果元素是Postgresql Postgres-将一个元素作为数组重复N次,postgresql,postgres-9.6,Postgresql,Postgres 9.6,例如,如果元素是'hi',而N是3,我需要一个PostgreSQL代码段,可以在返回以下数组的SELECT查询中使用: ['hi', 'hi', 'hi'] with cte as ( select 'hi' as rep_word, generate_series(1, 3) as value ) -- ^^^ n = 3 select array(SELECT rep_word::text from ct
'hi'
,而N是3
,我需要一个PostgreSQL代码段,可以在返回以下数组的SELECT
查询中使用:
['hi', 'hi', 'hi']
with cte as (
select 'hi' as rep_word, generate_series(1, 3) as value
) -- ^^^ n = 3
select array(SELECT rep_word::text from cte);
with cte as (
select 'hi' as rep_word, generate_series(1, 3) as value
) -- ^^^ n = 3
select array(SELECT rep_word::text from cte);
您可以将
array\u agg
与generate\u series
select array_agg(s) from ( values('hi')) as t(s) cross join generate_series(1,3)
一般的
select array_agg(s) from ( values(:elem)) as t(s) cross join generate_series(1,:n)
您可以将
数组\u agg
与生成\u序列一起使用
select array_agg(s) from ( values('hi')) as t(s) cross join generate_series(1,3)
一般的
select array_agg(s) from ( values(:elem)) as t(s) cross join generate_series(1,:n)
Postgres为此提供了
数组填充
,例如:
SELECT array_fill('hi'::text, '{3}');
SELECT array_fill('hi'::text, array[3]);
这两个示例是等效的,但如果希望用变量替换维度3
,则第二种形式更方便
另请参见:Postgres为此提供了
数组填充
,例如:
SELECT array_fill('hi'::text, '{3}');
SELECT array_fill('hi'::text, array[3]);
这两个示例是等效的,但如果希望用变量替换维度3
,则第二种形式更方便
另请参见:您可以将其简化一点:
从generate_series(1,3)中选择array_agg('hi'::text)
您可以将其简化一点:从generate_series(1,3)中选择array_agg('hi'::text)