Re: Referencing function value inside CASE..WHEN

From: David Johnston <polobo(at)yahoo(dot)com>
To: lover boi <lover-boi(at)live(dot)co(dot)uk>
Cc: "<pgsql-general(at)postgresql(dot)org>" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Referencing function value inside CASE..WHEN
Date: 2011-06-19 04:03:53
Message-ID: AA299BBF-8E7E-443F-86C1-DABF23C5DDC9@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

You can try using a CTE/With clause. Failing that use a function with SELECT INTO...

On Jun 18, 2011, at 22:45, lover boi <lover-boi(at)live(dot)co(dot)uk> wrote:

> Hi,
>
> In the following statement, does the custom function get executed twice?
>
> SELECT
> MY_FUNCTION(...),
> CASE WHEN MY_FUNCTION(...) = '...' THEN '...' ELSE '...' END
> ...
> ...
>
>
> If so, is there a way I can make it execute once? I tried this but it gave me a "Column my_function does not exist" error.
>
> SELECT
>
> MY_FUNCTION(...) AS my_function,
>
> CASE WHEN my_function = '...' THEN '...' ELSE '...' END
>
> ...
>
> ...
>
>
> Thank you in advance.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David Resnick 2011-06-19 04:07:57 Port forwarding via iptables to postgres listening locally
Previous Message Scott Marlowe 2011-06-19 02:46:32 Re: fill factor guestimate