4 ms·
NULL is a marker that means this data value does not exist in the database. Your second, and any other 'meanings' are a misuse of NULL, which is your fault, no
by epo 13y ago
NULL is a marker that means this data value does not exist in the database.
Your second, and any other 'meanings' are a misuse of NULL, which is your fault, not SQLs
- dragonwriter 13y ago> NULL is a marker that means this data value does not exist in the database. Both of the uses I stated are data values that do not exist in the database. > Your second, and any other 'meanings' are a misuse of NULL No, they aren't. They are different, and substantively different, reasons why data does not exist in a database. One is the value does not exist in the domain of which the DB is model, and one is that the value exists in that domain but it is not known. (Others have pointed out the additional case of "we do not know if it exists", which is ambiguity between those two cases.) These two substantially different meanings of NULL were recognized fairly early in the history of the relational model by the creator of the model (E.F. Codd), who proposed refining the model by having separate markers for each of those two cases.
- einhverfr 13y agoNULL can mean a bunch of things: 1. Value is unknown 2. Value does not exist (for example, outer join results). These have ery different implications. For example: somestring || does_not_exist you would think would equal somestring, but with unknown we dont know.
- ams6110 13y agoIt doesn't exactly mean that the value does not exist, it's that it's unknown whether it exists. NULL means nothing at all, not the absence of a value (though applications will often abuse it to mean that, and pragmatically that's usually OK).