Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
ВнизПро null в базах Найти похожие ветки
← →
VictorT (2002-10-09 17:08) [0]Уже достатоточно давно вожусь с базами но только сейчас про это задумался и возникла непонятка. Как в базе физически хранится значение null? К примеру имеем поле числового типа размером в байт. Оно может хранить число от 0 до 255. А как же тогда хранится null?
← →
NeyroSpace (2002-10-09 17:39) [1]Есть такой парадокс в БД. Даже пытались ввести 3х значную логику ИСТИНА, ЛОЖЬ и NULL.
>А как же тогда хранится null?
Это зависит от конкретной реализации СУБД.
← →
Johnny Smith (2002-10-09 17:44) [2]Как хранится - NeyroSpace прав, по-разному. А вот возвращается
в виде набора байтов, где первый - нулевой.
← →
han_malign (2002-10-09 17:45) [3]я так понимаю просто стоит флаг, что значение не валидно (примерно как в DBF "*"-удаленная запись), а уж где он хранится ...
← →
han_malign (2002-10-09 17:49) [4]2 Johnny Smith
Во-во, пустая ASCIIZ строка
З.Ы. А вообще, с тех пор когда мне по Fox-у трояк за курсовой вкатили, я с базами не дружу.
← →
Alexander Vasjuk (2002-10-09 18:27) [5]Конкретно в IB - читал, что вообще не хранит.
>Johnny Smith © (09.10.02 17:44
А если это целое, то и будет 0 а не null
А в случае со строкой Null и "" не одно и тоже
Опять таки конкретно в Delphi есть св-во IsNull
← →
Странник (2002-10-09 18:47) [6]признак NULL хранится в дескрипторе поля
← →
VictorT (2002-10-09 18:48) [7]
> А если это целое, то и будет 0 а не null
Не, 0 и null всё таки разные вещи.
← →
wicked (2002-10-09 19:56) [8]в mssql -
для каждой записи есть битовая маска, в которой определённые биты и отвечают, есть там null или значение...
какие биты за какие поля отвечают - решается структурой, по моему для not null полей место не отводится....
если не прав - поправьте... :)
← →
kaif (2002-10-09 19:59) [9]Хуже всего дело с NULL в dBase-е обстоит для строк, ИМХО.
Так как там нет ни отдельного байта для этого признака, ни возможности менять длину строки, соответственно NULL там это то же, что и пробелы, набитые до ширины поля. Для дат и чисел пробелы в dBase спасают NULL.
В IB, по-моему, NULL - пустая строка.
Для числовых полей 0 и NULL - совсем разные вещи. Даже для строк это не так важно. Дело в том, что ключевые поля не должны быть NULL, а их обычно делают в виде INTEGER.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c