Re: INTERVAL in a function - Mailing list pgsql-general

From Ron St-Pierre
Subject Re: INTERVAL in a function
Date
Msg-id 4190F93C.7060905@syscor.com
Whole thread Raw
In response to Re: INTERVAL in a function  (Michael Fuhr <mike@fuhr.org>)
List pgsql-general
Michael Fuhr wrote:

>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.
>
Of course, I should have caught that.

>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.
>
>
>
Perfect.
 Thanks Michael!


pgsql-general by date:

Previous
From: Oliver Elphick
Date:
Subject: Re: server auto-restarts and ipcs
Next
From: "Tk421"
Date:
Subject: Re: Functions in postgres