我正在尝试将本地创建的数组的第一个条目添加到自己的末尾。
SELECT中的string_to_array创建一个通过xpath从xml源提取的数据数组。
我想复制此数组的第一个条目,并将其粘贴到该查询的主体内的结尾处。
SELECT
xxxd AS id,
string_to_array(
regexp_replace(
(xpath('//ns:L/text()', donnee::xml, ARRAY[ARRAY['ns', 'z:e:r:t:y']]))::varchar, '[{}]', '', 'gi')::text , ',')
AS lat
,
INTO test_table FROM source_table
我正在尝试使用array_append(anyarray, anyelement)
进行操作,但实际上无法正常工作
答案 0 :(得分:0)
您很可能需要一个子查询和array_append
-例如:
with subquery as (
select array['a','b','c'] as arr
)
select array_append(arr, arr[1])
from subquery
得出a,b,c,a
答案 1 :(得分:0)
基于giorgiga的想法,您可以创建一个函数,该函数以所需的方式更新数组,然后使用该函数包装提取的数组。例如:
CREATE FUNCTION arr_extend(arr anyarray) RETURNS anyarray
AS $$ SELECT array_append(arr, arr[1]) $$ LANGUAGE SQL;
SELECT arr_extend(array['a','b','c']);