SQLite Data Types

SQLite storage classes and types

Storage Classes

NULL # null value
INTEGER # signed integer (1, 2, 3, 4, 6, or 8 bytes)
REAL # floating point (8 bytes)
TEXT # text string (UTF-8, UTF-16BE or UTF-16LE)
BLOB # binary data

Type Affinity

INTEGER # INT, TINYINT, SMALLINT, BIGINT
TEXT # CHAR, VARCHAR, TEXT, CLOB
REAL # REAL, DOUBLE, FLOAT
NUMERIC # NUMERIC, DECIMAL, BOOLEAN, DATE
BLOB # no specified type

Common Types

INTEGER PRIMARY KEY # auto-increment integer
TEXT NOT NULL # required text
REAL DEFAULT 0.0 # real with default
BOOLEAN # stored as INTEGER (0 or 1)

Date and Time

DATE # stored as TEXT (ISO8601)
DATETIME # stored as TEXT, REAL, or INTEGER
'YYYY-MM-DD' # date format
'YYYY-MM-DD HH:MM:SS' # datetime format