По-видимому, оракул, похоже, не различает пустые строки и нули. Например.
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
Я не могу придумать какой-либо веской причины, по которой Oracle будет построен, чтобы вести себя таким образом (это делает это и в sqlplus?) Я получаю доступ через интерфейс java, ссылка на статью используется клиентом php).
Разве вы не хотели бы отличить длину 0 от длины undefined? Это известная проблема? Преднамеренное поведение для определенной цели? Долгосрочный спор в теории баз данных? Что дает?
(Это было вызвано Мэттом Солнитом на этот вопрос.)