I am using SQL Server.
This query:
SELECT 3/0 AS X returns an error, as expected:
Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.
But IF EXISTS treats X as a row that exists. This query:
IF EXISTS (SELECT 3/0 AS X) PRINT 'SUCCESS' ELSE PRINT 'FAILURE' returns 'SUCCESS'. I couldn't find anything in the IF EXISTS documentation that explains this behavior. Can anyone shed some light on this?
