Search code examples
sqlpostgresqlselectsql-functionset-returning-functions

why postgres functions returns result in one column?


I have a simple PostgreSQL function which I aspect should return values into separate columns -115 and 101000005458E6258... but it returns one column where two values are separated by a comma -115,101000005458E6258.... What is wrong with my function?

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';

I call the function

SELECT public.get_direction();

Thank you.


Solution

  • If you want the result as a set of columns, then you need:

    SELECT * FROM public.get_direction();