If no value has been entered into a field and there is no default value set,
the value is Null.
You can therefore delete those records with:
DELETE FROM MyTable WHERE MyField Is Null;
A zero-length string (ZLS) is not the same as a Null.
Think of Null as meaning unknown, or not applicable.
For example, you leave the Phone field null if you don't know someone's
phone number.
But what if you know the person has no phone?
That data could be represented as a ZLS.
You can now create a query for all the people who have no phone by entering
the criteria:
""
This does not return the people whose phone number is unknown. To query for
them, the criteria would be:
Is Null
In practice, a user looking at the data cannot see any difference between a
Null and a ZLS. For that reason, it is rarely a good idea to use a ZLS in a
database. In the last 5 years, I can only recall one scenario where I have
implemented a ZLS, because it is just too confusing for users.
Even people who create databases sometimes get confused about how to use
nulls, even though they are absolutely essentially, and incredibly useful.
this might help:
Common Errors with Null
at:
http://allenbrowne.com/casu-12.html