为什么 postgres 函数 returns 导致一列?
why postgres functions returns result in one column?
我有一个简单的 PostgreSQL 函数,我应该 return 将值分为单独的列 -115
和 101000005458E6258...
但它 return 是一列,其中两个值是分开的用逗号 -115,101000005458E6258...
。我的功能有什么问题?
CREATE OR REPLACE FUNCTION public.get_direction()
RETURNS TABLE(direction integer, geom geometry)
AS $$
BEGIN
RETURN QUERY SELECT
heading-lag(heading) over (order by time) AS direction, a.geom AS geom
FROM public.mytable a
WHERE reg='125123'
GROUP BY heading, a.geom , a.time;
END; $$
LANGUAGE 'plpgsql';
我调用函数
SELECT public.get_direction();
谢谢。
如果您希望将结果作为一组列,则需要:
SELECT * FROM public.get_direction();
我有一个简单的 PostgreSQL 函数,我应该 return 将值分为单独的列 -115
和 101000005458E6258...
但它 return 是一列,其中两个值是分开的用逗号 -115,101000005458E6258...
。我的功能有什么问题?
CREATE OR REPLACE FUNCTION public.get_direction()
RETURNS TABLE(direction integer, geom geometry)
AS $$
BEGIN
RETURN QUERY SELECT
heading-lag(heading) over (order by time) AS direction, a.geom AS geom
FROM public.mytable a
WHERE reg='125123'
GROUP BY heading, a.geom , a.time;
END; $$
LANGUAGE 'plpgsql';
我调用函数
SELECT public.get_direction();
谢谢。
如果您希望将结果作为一组列,则需要:
SELECT * FROM public.get_direction();