Oracle unterscheidet nicht zwischen Nullen und leeren Zeichenfolgen?

Anscheinend scheint Orakel nicht zwischen leeren Zeichenketten und Nullen zu unterscheiden. Z.B.

Select name from TABLE_A where id=100;
  ID   NAME
  100  null

Update TABLE_A set NAME='' where id=100;
SELECT -->
  ID   NAME
  100  null

SELECT length(NAME) FROM TABLE_A WHERE id=100;
  null

Ich kann mir keinen guten Grund vorstellen, warum Oracle so aufgebaut ist (funktioniert dies auch in sqlplus? - Ich greife über eine Java-Schnittstelle zu, der Artikel, auf den verwiesen wird, verwendete einen PHP-Client).

Möchten Sie nicht wenigstens 0 Länge von undefinierter Länge unterscheiden? Ist das ein bekanntes Problem? Vorsätzliches Verhalten für einen bestimmten Zweck? Ein langjähriger Streit in der Datenbanktheorie? Was gibt?

(Dies ergab sich aus der Antwort von Matt Solnit aufdiese Frage.)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage