1.PostgreSQL 存储过程的自学自建

所谓【存储过程】就是为了完成特定功能的SQL 语句集,存储在数据库中保存成【函数】,以方便使用。

在工作中有一个需求:

原数据项有一个字段叫做“geo”的保存若干xy坐标对的一维数组,类型为text[],数组长度length,每一条数据text[]的length的范围在128-1520,
现在想对这些xy坐标点进行抽稀,只取下标为1,9,17,25...也就是说下标n能被8除余数为1的数组成员。这样可以保持取的数据间隔相等,且相对位置不变。

create function selectpoint(geos text[])
returns text[] as
$$
declare
newgeo text[];
arr text[];
begin
arr := selectpoint.geos;
length := array_length(arr,1);
for i in 1..length loop
if i%8= 1 then
arr_append(newgeo,arr[i]);
end if;
end loop;
return newgeo;
end
$$
language plpgsql;

函数引用:
select selectpoint(t.geo) as selectpoints from geoarray t
===============
具体学习过程及参考试错过程+实际数据+资料后面填坑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容