我有一个包含int,int,float,float * many的长字符串,我需要获取最后两个浮点数。
100,140,14.123,15.123,200,240,16.124,17.123
我使用string_to_array来获取元素3& 4(前两个浮点数)但我还需要一种方法来获得最后两个浮点数(本例中为7和8)。
答案 0 :(得分:2)
试
CREATE OR REPLACE FUNCTION last_fields(anyarray, int)
RETURNS anyarray LANGUAGE sql AS $$
SELECT ($1)[array_upper($1,1) - $2 + 1: array_upper($1,1)];
$$;
postgres=# select last_fields(ARRAY[1,2,3,4,5], 2);
last_fields
─────────────
{4,5}
(1 row)