Each table column will store any type of data, though columns have an affinity for the format of data defined by their declared datatype.
When data is inserted into a column, that column will make at attempt to convert the data format into the columns declared type.
SQLite 3.0 will still store the data even if a format conversion is not possible.
For example, if you have a table column declared to be of type "INTEGER" and you try to insert a string,
the column will look at the text string and see if it looks like a number.
If the string does look like a number it is converted into a number and into an integer if the number does not have a fractional part,
and stored that way. But if the string is not a well-formed number it is still stored as a string.
A column with a type of "TEXT" tries to convert numbers into an ASCII-Text representation before storing them.
But BLOBs are stored in TEXT columns as BLOBs because you cannot in general convert a BLOB into text.