Tak, tak działa Oracle. Puste ciągi są traktowane jako wartości null.
Możesz oczywiście "naprawić" to na poziomie aplikacji - na przykład przechowując " "
wartości zgodnie z sugestią - ale najpierw zastanów się, jaka dokładnie jest różnica między wartościami „pustego ciągu” w porównaniu z wartościami NULL
wartości? Dlaczego musisz traktować je inaczej? Kiedyś wpadałem w ten dylemat, ale zwykle okazywało się, że jest bardzo niewiele przypadków, w których naprawdę muszę odróżnić.