On Mon, Jun 17, 2013 at 11:11 PM, Stefan Drees <stefan(at)drees(dot)name> wrote:
>
> pg924=# SELECT CASE WHEN 1 != 1 THEN 1/0 ELSE ((SELECT 1)=1)::integer END;
> case
> ------
> 1
> (1 row)
>
> here the 1/0 is happily ignored.
>
It gets even stranger:
template1=# SELECT CASE WHEN (SELECT 0)=0 THEN 0 ELSE 1/(select 0) END;
case
------
0
(1 row)
Here it seems that the ELSE does not get evaluated (which is correct).
Bye