2013-06-19 2 views
0

Я пытаюсь создать функцию postgres, которая преобразует временную метку ввода в PDT. Вот мой код:Postgres create function for timestamp conversion

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 

Спасибо аванс

ответ

3

Это должно работать:

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