【发布时间】:2019-09-11 15:46:31
【问题描述】:
我有一个复杂的查询,它为某些两个日期(开始日期和结束日期)提供多行。
现在我想创建一个函数,以便我可以为不同的日期组合返回多行。
CREATE FUNCTION submit_cohort(DATE, DATE)
RETURNS TABLE(Month VARCHAR(10), Name1 VARCHAR(20), Name2 VARCHAR(20), x INTEGER)
STABLE
AS $$
SELECT
to_char((date + interval '330 minutes')::date, 'YYYY/MM') "Month",
Name1,
Name2,
count(*) "x"
FROM xyz
WHERE date > $1
AND date < $2
GROUP BY 1,2,3
ORDER BY 1,2,3
END
$$ LANGUAGE sql;
我运行了这个查询。它说:
Amazon 无效操作:“TABLE”处或附近的语法错误
【问题讨论】:
-
创建函数 f_sql_greater (float, float) 当 $1 > $2 然后 $1 else $2 end $$ language sql 时返回 float stable 作为 $$ 选择案例;这是AWS文档中给出的代码,但没有说明如何返回表?
标签: amazon-web-services amazon-redshift