Ed,
>Can someone tell me why this fails? I'm using v4.1.11
>Select IF(((Select 1+1) <> Null) and ((Select 1+1) <>
0), (Select 1+1), 'WRONG')
>I would expect a result of 2.
NULL is neither equal nor unequal to anything including itself.
To get the result you expect, write
Select IF(((Select 1+1) IS NOT Null) and ((Select 1+1) <> 0),
(Select 1+1), 'WRONG');
PB