Backend Types supported

This table give a comprehensive list of the SQL Types that are expected to be supported by the database backends. If the type is not supported then the backend will have to emulate the behavior described here.

The columns are in the following order:

  • The SQL type [1] representing the field
  • The python type expected on input
  • The python type received on output
[1]Corresponding to the SQL 92 standard or to a PostgreSQL type.

None will represent the NULL value and vice versa, it can be used as input or output for any SQL type.

SQL Type Python input type Python output type
BOOL bool bool
INTEGER int int
BIGINT int / long [2] int / long [2]
FLOAT float / int / long [2] float
NUMERIC decimal.Decimal decimal.Decimal
VARCHAR / VARCHAR(length) str / unicode [3] str / unicode [3]
TEXT str / unicode [3] str / unicode [3]
TIMESTAMP datetime.datetime datetime.datetime
DATETIME datetime.datetime without microseconds [4] datetime.datetime without microseconds [4]
DATE datetime.date datetime.date
TIME datetime.time datetime.time
INTERVAL datetime.timedelta datetime.timedelta
BLOB bytes bytes
[2](1, 2, 3) in python 2 integers over sys.maxint are represented by the long type
[3](1, 2, 3, 4) str when using python 3 ; unicode when using python 2
[4](1, 2) Datetime objects are not localized to any timezone