Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function Postgres创建用于时间戳转换的函数_Function_Postgresql_Timestamp_Plpgsql - Fatal编程技术网

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

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

我试图创建一个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;
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;