Re: NULLs: theoretical problems?

From: Jan Hidders <hidders_at_gmail.com>
Date: Fri, 24 Aug 2007 23:20:08 -0000
Message-ID: <1187997608.109540.77720_at_x35g2000prf.googlegroups.com>


On 24 aug, 13:50, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> Jan Hidders <hidd..._at_gmail.com> wrote innews:1187906563.506451.71800_at_q3g2000prf.googlegroups.com:
>
> > On 23 aug, 23:27, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> >> Let's take a look at it. Could you give a query example and you
> >> interpretration of the DEF construct therein ?
>
> > SELECT * FROM t WHERE DEF t.a : (t.a = 5 OR TRUE);
>
> > is not equivalent with
>
> > SELECT * FROM t WHERE t.a = 5 OR TRUE;
>
> I do not understand why they are not equivalent.
>
> The first SQL predicate, according to your rules, evaluates to 'true':
> 'DEF t.a : (t.a = 5 OR TRUE)' -> 'FALSE OR TRUE' -> 'TRUE'

No, it only evaluates to 'true' if t.a is defined.

> The second SQL predicate also evaluates to 'true':
> 't.a = 5 OR TRUE' -> 'UNKNOWN OR TRUE' -> 'TRUE'

And this always evaluates to 'true'. So that is the difference.

Received on Sat Aug 25 2007 - 01:20:08 CEST

Original text of this message