Thread: Referencing function value inside CASE..WHEN

Referencing function value inside CASE..WHEN

From
lover boi
Date:
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.

Re: Referencing function value inside CASE..WHEN

From
kleptog@svana.org
Date:
This message has been digitally signed by the sender.
Attachment

Re: Referencing function value inside CASE..WHEN

From
"F. BROUARD / SQLpro"
Date:
Hi

Le 19/06/2011 04:27, lover boi a écrit :
> SELECT
>    MY_FUNCTION(...) AS my_function,
>    CASE WHEN my_function = '...' THEN '...' ELSE '...' END
> ...
> ...

WITH
T AS
(SELECT MY_FUNCTION(...) AS my_function, ...
)
SELECT CASE WHEN my_function = '...' THEN '...' ELSE '...' END
...
...

A +
--

Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR  :  http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************