我在Postgres中有一个函数,它返回类型为ctrlr_kpi_type
的setof。
CREATE TYPE public.ctrlr_kpi_type AS
(
door_id text,
email text,
android_id text,
api_level integer,
app_vers numeric,
lattitude numeric,
longitude numeric,
oper_cd text,
firmware_logic_ver text,
safety_logic integer,
hold_beam_type integer,
sys_cycle_count integer,
ctrlr_cycle_count integer,
error_name text,
powered_up_days integer,
m1_err_cnt integer,
m1_err_cycle_cnt integer,
m2_err_cnt integer,
m2_err_cycle_cnt integer,
etl_insert_ts timestamp without time zone,
reading_date timestamp without time zone,
sap_equip_nbr text
);
功能如下:
CREATE OR REPLACE FUNCTION public.controller_kpi(
start_date date,
end_date date)
RETURNS SETOF ctrlr_kpi_type
LANGUAGE 'plpgsql'
..............
当我使用select controller_kpi('2018-05-01', '2018-05-31')
运行该函数时,它返回一个类型为ctrlr_kpi_type
的列表。但是,它显示为一列。
如何根据属性将类型分解为列,以便将结果保存到表中,然后导出到csv?
答案 0 :(得分:1)
您只需将呼叫更改为添加FROM的功能。
SELECT * FROM controller_kpi('2018-05-01', '2018-05-31')