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