|
Posted by Hugo Kornelis on 09/25/63 11:45
On Thu, 20 Apr 2006 20:58:14 GMT, "Rico" <r c o l l e n s @ h e m m i n
g w a y . c o mREMOVE THIS PART IN CAPS> wrote:
>Thanks Guys,
>
>I wound up finding ISNULL before I had a chance to post back. (why do I
>always find the solution right after I post).
>
>Is there an argument for using Coalesce over IsNull?
Hi Rico,
Three!
1. COALESCE is ANSI-standard and hence more portable. ISNULL works only
on SQL Server.
2. COALESCE takes more than two arguments. If you have to find the first
non-NULL of a set of six arguments, ISNULL has to be nested. Not so with
COALESCE.
3. Data conversion weirdness. The datatype of a COALESCE is the datatype
with highest precedence of all datatypes used in the COALESCE (same as
with any SQL expression). Not so for ISNULL - the datatype of ISNULL is
the same as the first argument. This is extremely non-standard and can
cause very nasty and hard-to-track-down bugs.
--
Hugo Kornelis, SQL Server MVP
[Back to original message]
|