[Quote]
We see that COALESCE() has weaker type checking than ISNULL, as it allows the selection of the 'j' column where the value is non-NULL. ISNULL(), on the other hand, rejects the statement from the outset. Score one for ISNULL(), in my opinion.
But COALESCE() allows us to do this:
DECLARE @MyVar1 int, @MyVar2 int, @MyVar3 int
SET @MyVar1 = NULL
SET @MyVar2 = NULL
SET @MyVar3 = 3
SELECT COALESCE(@MyVar1, @MyVar2, @MyVar3)
So COALESCE() allows "n" number of expressions to be listed. Score one for COALESCE().
[/End Quote]
__________________________________________________________-
The above can be a little misleading. Even though you can list "n" number of expressions, only the first non-NULL will be displayed. Just wanted to point that out so noone will try to stack several columns together and thinking this will handle all the NULL values.
Peace.