On Mon, Jun 17, 2013 at 11:11 PM, Stefan Drees <stefan@xxxxxxxxxx> 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