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