Oracle nie rozróżnia pustych i pustych łańcuchów?

Najwyraźniej wyrocznia nie wydaje się rozróżniać pustych ciągów znaków od wartości pustych. Na przykład.

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

Nie potrafię wymyślić żadnego dobrego powodu, dla którego Oracle miałoby się tak zachowywać (czy robi to również w sqlplus? -Dostępuję przez interfejs java, w artykule przywoływano klienta php).

Czy nie chcesz przynajmniej odróżnić długości 0 od niezdefiniowanej długości? Czy to znany problem? Celowe zachowanie w określonym celu? Długotrwały spór w teorii bazy danych? Co daje?

(Było to spowodowane odpowiedzią Matta Solnitego nato pytanie.)

questionAnswers(5)

yourAnswerToTheQuestion