I have to check for a value of a particular Column named RESULT
is blank or not.
When I check with if RESULT IS NULL
, the query failed, bu
NULL in database systems - No value set for the field. A void
NULL (character) - A blank, an ASCII/Unicode character with no graphical representation. But it is present in code page as a character constant '\0' with a character value 0 or 000.
In tri-value logic, NULL should be used to represent "unknown" or "not applicable" An empty column should represent "known but empty".
Some DBMS products don't follow this convention all the time but I consider them deficient. Yes, you know who you are, Oracle :-)
In addition, while NULL can be put into any column type (ignoring not null
clauses for now), you cannot put an "empty" value into a non-character field (like integer
).
NULL
is an absence of a value. An empty string is a value, but is just empty. NULL
is special to a database.
NULL
has no bounds, it can be used for string
, integer
, date
, etc. fields in a database.
NULL
isn't allocated any memory, the string
with NULL
value is just a pointer which is pointing to nowhere in memory. however, Empty IS allocated to a memory location, although the value stored in the memory is ""
.
Adding to @ricky, NULL can never equal NULL, but an empty string is always equal to an empty string. That's a huge difference when you are trying to match records.