• [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.