我想将给定的日期和整数转换为 pl/pgsql 函数中的时间戳。我以前从未对 pl/pgsql 做过任何事情,所以我有点不知所措。
感谢 Pablo Santa Cruz 的回答,它走到了这一步:
CREATE OR REPLACE FUNCTION to_my_timestamp(mydate date, timeint integer) RETURNS timestamp AS $$
DECLARE
myhours integer := timeint / 10000;
myminutes integer := timeint % 10000 / 100;
myseconds integer := timeint % 100;
timestring text := myhours || ':' || myminutes || ':' || myseconds;
BEGIN
RETURN (mydate::text || ' ' || timestring)::timestamp;
$$ LANGUAGE plpgsql;
select to_my_timestamp('2010-08-12',123456);
但是,这似乎对我不起作用。这是我在 Ubuntu 上使用 pgadmin3 时遇到的错误:
ERROR: syntax error at end of input
LINE 9: $$ LANGUAGE plpgsql;
^
********** Error **********
ERROR: syntax error at end of input
SQL state: 42601
Character: 377
任何帮助是极大的赞赏 :)