Re: INTERVAL in a function
От | Michael Fuhr |
---|---|
Тема | Re: INTERVAL in a function |
Дата | |
Msg-id | 20041109010032.GA71358@winnie.fuhr.org обсуждение исходный текст |
Ответ на | INTERVAL in a function (Ron St-Pierre <rstpierre@syscor.com>) |
Ответы |
Re: INTERVAL in a function
|
Список | pgsql-general |
On Mon, Nov 08, 2004 at 04:15:34PM -0800, Ron St-Pierre wrote: > SELECT INTO exptime current_timestamp + INTERVAL ''intval''; You're using the literal value 'intval' instead of its value, thus the syntax error. You can simplify the statement to this: exptime := current_timestamp + intval; But I think the entire function can be shortened to: CREATE OR REPLACE FUNCTION getUnitTimeLength(int) RETURNS TIMESTAMP AS ' SELECT CURRENT_TIMESTAMP::timestamp + unitTimeLength FROM customer.groups WHERE groupsID = $1 ' LANGUAGE sql; You don't need to check for NULL because the result of the addition will already be NULL if either operand is NULL. Casting CURRENT_TIMESTAMP is necessary to avoid a "return type mismatch" error. -- Michael Fuhr http://www.fuhr.org/~mfuhr/
В списке pgsql-general по дате отправления: