Remember, Columns in SQLite do NOT have a 'Type', but an affinity. Individual cells have any type. NULL is one of the types that a cell can have, which does generally imply omitted data, but it doesn't describe what type of data was omitted. There aren't separate values for omitted integer, omitted float, omitted test, and omitted blob data, just a single value of a special type call NULL. Maybe in other SQL dialects, NULL can be thought of as a value orthogonal to the type (and it sort of needs to be since the column DOES have a type), but this is different in SQLite.