Postgres创建用于时间戳转换的函数

3
我正在尝试创建一个将输入时间戳转换为 PDT 的 postgres 函数。以下是我的代码:

CREATE OR REPLACE FUNCTION getPdtTimestamp(inTS TIMESTAMP) RETURNS TIMESTAMP AS $$
DECLARE
    outTS TIMESTAMP;
BEGIN
    SELECT TIMESTAMP with time zone inTS AT TIME ZONE 'PDT' INTO outTS;
    RETURN outTS;
END;
$$ LANGUAGE plpgsql;

这里出现的错误是:
syntax error at or near "inTS"

我的目标是创建一个查询函数,其格式如下:

SELECT TIMESTAMP with time zone '2012-01-01 12:00:00' AT TIME ZONE 'PDT';
// returns a value

提前感谢您的帮助。

1个回答

5

这应该可以正常工作:

CREATE FUNCTION getPdtTimestamp(timestamp) RETURNS TIMESTAMP AS $$ 
    SELECT $1::TIMESTAMP with time zone  AT TIME ZONE 'PDT';
$$ LANGUAGE SQL;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接