В некоторых системах программирования пустая строка может считаться значением NULL из-за формата хранения данных. 1
Например, в СУБД Oracle табличные строки хранятся в структуре, представляющей собой заголовок и следующие за ним столбцы с данными. 1 Каждый столбец состоит из двух полей: длина данных в столбце (1 или 3 байта) и сами данные. 1 При нулевой длине varchar2 в поле с данными нечего вносить, так как оно не занимает ни байта. 1 В поле же, где указывается длина, вносится специальное значение 0xFF, что и означает отсутствие данных. 1 NULL Oracle представляет аналогично: отсутствует поле с данными, а в поле длины данных вносится 0xFF. 1 Так как изначально разработчики Oracle не разделяли эти два состояния, то и сейчас принцип внесения данных не изменился. 1
При этом стоит учитывать, что пустая строка и NULL выполняют различные функции: NULL означает отсутствие или неприменимость данных, а пустая строка свидетельствует о присутствии поля, которое пока не заполнено. 3