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, but When I checked RESULT=''
, it worked.
What is difference between two.
please explain.
"UPDATE RLS_TP_2012_03 a, RLS_TP_2012_03 b SET a.COMMENT=b.COMMENT where b.TCODE='T1199' and a.GROUPNAME='xyz' and a.HLABNO=b.HLABNO and a.RESULT =''; ";
"UPDATE RLS_TP_2012_03 a, RLS_TP_2012_03 b SET a.COMMENT=b.COMMENT where b.TCODE='T1199' and a.GROUPNAME='xyz' and a.HLABNO=b.HLABNO and a.RESULT is NULL; "
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 ""
.
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
).
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.
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.