我正在尝试从orderdate函数获取年份
类型订单日期日期
create or replace function getyearfromdate(year date)returns
table
as
$$
begin
return QUERY execute (
'select extract (year from orderdate) FROM public.orderalbum'
);
end;
$$
language plpgsql;
我编写了逻辑,但无法创建函数
我想从订单日期返回年份。
我想从函数中传递订单日期和返回年份
我面临以下错误
ERROR: syntax error at or near "as"
LINE 3: as
^
SQL state: 42601
Character: 70
1条答案
按热度按时间q9yhzks01#
根据您的评论,您似乎只需要一个
extract()
函数的 Package 器,在这种情况下,您不需要一个返回集合的函数,并且您不需要PL/pgSQL,甚至不需要动态SQL:注意,我重命名了参数,因为我发现
date
值的参数year
非常混乱。然后,该函数可用作SELECT列表的一部分:
基于评论澄清前问题的原始答复。
As documented in the manual
returns table
需要表格定义。使用动态SQL也是无用的。
型
我不知道为什么要给一个你从来不用的函数传递一个参数。