| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: NULLs: theoretical problems?
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.
![]() |
![]() |