Her şeyden önce, null ve null dize Oracle tarafından her zaman aynı olarak ele alınmadı. Boş bir dize, tanım gereği, karakter içermeyen bir dizedir. Bu hiç de bir boş değildir. NULL, tanım gereği verilerin olmamasıdır.
Beş ya da altı yıl kadar önce, boş karakter dizisi Oracle tarafından boş değerden farklı işlem gördü. Null gibi, null dize her şeye eşit ve her şeyden farklı olsa da (null için iyi olduğunu düşünüyorum, ancak null dize için tamamen YANLIŞ), en azından uzunluk (null dize) boş dize olduğu gibi 0 döndürür sıfır uzunlukta bir dize.
Şu anda Oracle'da, length (null), tamam olduğunu tahmin ettiğim null değerini döndürür, ancak length (null string) de tamamen WRONG olan null değerini döndürür.
Neden bu 2 farklı "değeri" aynı şekilde ele almaya karar verdiklerini anlamıyorum. Farklı şeyler ifade ediyorlar ve programcı her biri üzerinde farklı şekillerde hareket etme yeteneğine sahip olmalı. Metodolojilerini değiştirdikleri gerçeği bana, bu değerlerin nasıl ele alınması gerektiği konusunda gerçekten bir ipucularının olmadığını söylüyor.