Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Useful Oracle books - C.J. Date theory vs. practicality
yes and no ... the ANSI/ISO SQL standard offers the three operators you
need:
"IS TRUE", "IS FALSE", and "IS UNKNOWN".
But as far as I know, no vendor has implemented these.
Note the power of these operators; they accept a Boolean argument.
The "IS NULL" becomes very clumsy as soon as multiple predicates are involved.
One nice Oracle function (that has been around for quite a while, but was
undocumented until 10g)
is the LNNVL function. But again, it has many limitations.
SQL> select 'Bingo!' as result from dual 2 where lnnvl(1=1);
no rows selected
SQL> c/1/2
2* where lnnvl(2=1)
SQL> /
RESULT
SQL> c/=1/ is null/
2* where lnnvl(2 is null)
SQL> /
RESULT
Kind regards,
Lex.
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of Nuno Souto
Sent: Saturday, May 29, 2004 16:58
To: oracle-l_at_freelists.org
Subject: Re: Useful Oracle books - C.J. Date theory vs. practicality
Always very hard to handle three-valued logic without some formal construct or syntax that can cover all options. Which brings me to my next question, if you'd be so kind:
Is there an agreed syntax (or language) anywhere that can hold against three-valued logic? As in: commercially available? Os is three-valued logic condemned to forever be the fly in the ointment (so to speak) of SQL?
![]() |
![]() |