我的函数中的if语句有些麻烦。 我得到了
ERROR: Syntaxfehler bei »if«
SQL Status:42601
Zeichen:78
我试图在两个日期之间获取数据。如果没有日期输入,我想获得所有数据。 代码看起来像这样
create or replace function datacut(DATE, DATE)
returns record AS $$
if $1 = ''
then
select * from hist_point;
else
SELECT *
from hist_point h
Where h.valid_from < $2 AND h.valid_from >= $1;
end if;
$$ LANGUAGE SQL;
这只是其他一些功能的原型。
欢迎任何提示,提示或帮助。
提前致谢。
答案 0 :(得分:0)
create or replace function datacut(DATE, DATE)
returns record AS
$BODY$
DECLARE
BEGIN
IF $1 = '' then
select * from hist_point;
else
SELECT * from hist_point h where h.valid_from < $2 AND h.valid_from >= $1;
end if;
END;
$BODY$
LANGUAGE plpgsql;