THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

SELECT Hints, Tips, Tricks FROM Hugo Kornelis WHERE RDBMS = 'SQL Server'

The logic of three-valued logic

This blog has moved! You can find this content at the following new location:

Published Tuesday, July 17, 2007 11:58 PM by Hugo Kornelis

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



James Luetkehoelter said:

Beautifully done. This is a great discussion of three-valued logic. How about tackling Belief Logic and SSAS Data Mining :)

July 18, 2007 5:28 AM

David Portas said:

Good information Hugo. The only danger is that by trying to relate three-value logic to everyday examples of what we know and don't know someone might infer that the truth value "unknown" is directly related to its usual meaning in English. You gave one example where that isn't the case: "WHERE Age > 35 AND Age < 30". An even simpler example would be "WHERE Age = Age". Again, we don't have to know your age to know that the value of Age is equal to itself. The value of this predicate is not unknown in mathematical terms or in everyday experience. So it would be safer and less counter-intuitive if SQL named the third truth value as something else altogether - the common English meaning of the word "unknown" clearly does not apply.

July 21, 2007 7:28 AM

Hugo Kornelis said:

Note to all - while rereading this post in preparation of the third part of this series (do I hear someone say "at last"?), I noted a disturbing error.

In the second paragraph after the heading "CHECK, the odd one out" I had mistakenly types WHERE instead of WHILE. Not once but twice. Aaarrgghh!!!

Since this is not just an amusing type, but actually an error that changes what I want to say, I just went in and corrected my mistake. If my error has confused you, then please know that I am sorry, and accept my apologies.

September 22, 2007 6:06 AM

SELECT Hints, Tips, Tricks FROM Hugo Kornelis WHERE RDBMS = 'SQL Server' said:

Two months ago, I posted the first two parts of a series about NULL. After that, I went quiet. Much to

September 22, 2007 4:35 PM

Hugo Kornelis said:

The fourth (and final) part of this series about  NULL is now available at

October 1, 2007 2:17 AM

Denis Gobo said:

This is part two of a three part series. Part one was about the phone interview , this part is about

December 10, 2007 3:02 PM

Carissa said:

Thank you so much! Very good explanation that helped me understand what wasn't explained very well in my lecture.

June 21, 2016 10:08 PM

Leave a Comment


About Hugo Kornelis

Hugo is co-founder and R&D lead of perFact BV, a Dutch company that strives to improve analysis methods and to develop computer-aided tools that will generate completely functional applications from the analysis deliverable. The chosen platform for this development is SQL Server. In his spare time, Hugo likes to visit the SQL Server newsgroups, in order to share and enhance his knowledge of SQL Server.
Privacy Statement