| Firebird Documentation Index → Firebird Null Guide |
![]() |
NULL behaviour and pitfalls in Firebird
SQL26 January 2007 – Document version 1.0.1
Table of Contents
NULL?NULL support in Firebird SQLNULL in operationsNULLNULL and equality in
practiceNULL-related bugs in FirebirdTime and again, support questions pop up on the Firebird mailing
lists about “strange things” happening with
NULLs. The concept seems difficult to grasp – perhaps
partly because of the name, which suggests a kind of
“nothing” that won't do any harm if you add it to a number or
stick it to the back of a string. In reality, performing such operations
will render the entire expression NULL.
This guide explores the behaviour of NULL in
Firebird SQL, points out common pitfalls and shows you how to deal safely
with expressions that contain NULL or may resolve to
NULL.
If you only need a quick reference to refresh your memory, go to the summary at the end of the guide.
In SQL, NULL is not a value. It is a
state indicating that an item's value is unknown or
nonexistent. It is not zero or blank or an “empty string” and
it does not behave like any of these values. Few things in SQL lead to
more confusion than NULL, and yet its workings
shouldn't be hard to understand as long as you stick to the following
simple definition: NULL means
unknown.
Let me repeat that:
NULLmeans UNKNOWN
Keep this line in mind as you read through the rest of the guide,
and most of the seemingly illogical results you can get with
NULL will practically explain themselves.
A few sentences and examples in this guide were taken from the Firebird Quick Start Guide, first published by IBPhoenix, now part of the Firebird Project.
| Firebird Documentation Index → Firebird Null Guide |