9

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; "
3
  • 8
    NULL is NULL, blank is blank....Period. Commented Jun 27, 2014 at 5:27
  • possible duplicate of MySQL, better to insert NULL or empty string? Commented Jun 27, 2014 at 5:28
  • NULL means no value. Blank means a value that is blank Commented Jun 27, 2014 at 5:30

4 Answers 4

37
  1. NULL is an absence of a value. An empty string is a value, but is just empty. NULL is special to a database.

  2. NULL has no bounds, it can be used for string, integer, date, etc. fields in a database.

  3. 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 "".

Sign up to request clarification or add additional context in comments.

1 Comment

Does this mean that NULL technically uses up less space/memory, thus better for performance wise? E.g. if you had nvarchar(max) with a NULL value versus an empty string?
6

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).

Comments

2

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.

Comments

0

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.