Function Postgres创建用于时间戳转换的函数
我试图创建一个postgres函数,它将输入时间戳转换为PDT。这是我的密码:Function Postgres创建用于时间戳转换的函数,function,postgresql,timestamp,plpgsql,Function,Postgresql,Timestamp,Plpgsql,我试图创建一个postgres函数,它将输入时间戳转换为PDT。这是我的密码: 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; EN
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
提前感谢这应该可以:
CREATE FUNCTION getPdtTimestamp(timestamp) RETURNS TIMESTAMP AS $$
SELECT $1::TIMESTAMP with time zone AT TIME ZONE 'PDT';
$$ LANGUAGE SQL;
这应该起作用:
CREATE FUNCTION getPdtTimestamp(timestamp) RETURNS TIMESTAMP AS $$
SELECT $1::TIMESTAMP with time zone AT TIME ZONE 'PDT';
$$ LANGUAGE SQL;