如何在PostgreSQL中截取文本数组?

6

在PostgreSQL中是否有可能修剪文本数组?如果可以,怎么做?

我想要得到如下的结果:

    select trim(myTextArrayColumn) from myTable;

其中myTextArrayColumn的类型为text[]。

列举例如下:

    {"someData1 ", "someData2 "}

    {" someData3 "}
2个回答

4
这应该就可以了:
select array_agg(trim(e))
from (
  select row_number() over () as rn, 
         unnest(myTextArrayColumn) e
  from mytable
) t
group by rn

运行顺畅!(我正在使用Postgres 13.x) - Yaakov Bressler

2

试试这个,我认为适合你

select string_to_array(replace(array_to_string(arrColumn, '::'), ' ', ''), '::') from myTable

注意:1. 所有空格将被删除 2. 您的值不能包含“::”,如果包含,请使用其他分隔符。


为避免替换所有空格,您可以使用以下修改进行修剪:select string_to_array(replace(replace(array_to_string(arrColumn, '::'), ' ::', '::'), ':: ', '::'), '::') from myTable - Andrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接