|
Posted by Hugo Kornelis on 04/21/06 23:11
On 20 Apr 2006 15:57:53 -0700, Lyle Fairfield wrote:
>Null is not zero. Null is not a zero length string.
>
>I believe that nulls were not designed to be placeholders for these
>values.
(snip)
Hi Lyle,
Thus far, I agree with yoour post.
(snip)
> There may be
>some cases where it's a good idea to substitute a zls for a null value,
>but none comes to my mind at this time.
First, you should be awarer that COALESCE and ISNULL on SQL Server, or
Nz on Access, can not just be used to replace NULL with 0 or zero length
string - you can replace them with anything you like. Common uses are
COALESCE (SomeColumn, 'n/a') in a report. Or
COALESCE (UserSpecifiedColumn, DefaultValue) in any query or view.
>
>IMNSHO SQL would be more rigorous if it had no IsNull(Field,Value) or
>corresponding Coalesce function.
I disagree with this statement. As I've shown above, COALESCE and ISNULL
can be used in very useful ways. That they might also be abused by
people who fail to think their solutions through is sad, but no reason
to abolish them. That's like forbidding cars because someone might cause
an accident while drinking and driving.
Besides, since COALESCE is just a shorthand for a specific CASE
expression, removing COALESCE from the language would have no effect;
people would just use the equivalent CASE expression.
--
Hugo Kornelis, SQL Server MVP
Navigation:
[Reply to this message]
|