Recommended Data Types for Qt-Supported Database Systems▲
This table shows the recommended data types for extracting data from the databases supported in Qt. Note that types used in Qt are not necessarily valid as input types to a specific database system. e.g., A double might work perfectly as input for floating point records in a particular database, but not necessarily as a storage format for output from that database, because it would be stored with 64-bit precision in C++.
IBM DB2 Data Types▲
|
IBM DB2 data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
SMALLINT |
16-bit signed integer |
typedef qint16 |
|
INTEGER |
32-bit signed integer |
typedef qint32 |
|
BIGINT |
64-bit signed integer |
typedef qint64 |
|
REAL |
32-bit Single-precision floating point |
typedef qreal |
|
DOUBLE PRECISION |
64-bit Double-precision floating point |
Mapped to QString for high precision doubles, otherwise qreal |
|
FLOAT |
64-bit Double-precision floating point |
typedef qreal |
|
CHAR |
Fixed-length, null-terminated character string |
Mapped to QString |
|
VARCHAR |
Null-terminated varying length string |
Mapped to QString |
|
LONG VARCHAR |
Not null-terminated varying length character string |
Mapped to QString |
|
BLOB |
Not null-terminated varying binary string with 4-byte string length indicator |
Mapped to QByteArray |
|
CLOB |
Character large string object |
Mapped to QString |
|
DATE |
Null-terminated character string of the following format: yyyy-mm-dd |
Mapped to QDate |
|
TIME |
Null-terminated character string of the following format: hh.mm.ss |
Mapped to QTime |
|
TIMESTAMP |
Null-terminated character string of the following format: yyyy-mm-dd-hh.mm.ss.nnnnnn |
Mapped to QDateTime |
Borland InterBase Data Types▲
|
Borland InterBase data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
BOOLEAN |
Boolean |
bool |
|
TINYINT |
8 bit signed integer |
typedef qint8 |
|
SMALLINT |
16-bit signed integer |
typedef qint16 |
|
INTEGER |
32-bit signed integer |
typedef qint32 |
|
BIGINT LONG |
64-bit signed integer |
typedef qint64 |
|
REAL FLOAT |
32-bit floating point |
typedef qreal |
|
FLOAT |
64-bit floating point |
typedef qreal |
|
DOUBLE |
64-bit floating point |
typedef qreal |
|
DOUBLE PRECISION |
64-bit Double-precision floating point |
Mapped to QString for high precision doubles, otherwise qreal |
|
VARCHAR STRING |
Character string, Unicode |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
DATE |
Displays date. Format: 'yyyy-mm-dd' |
Mapped to QDate |
|
TIME |
Displays time. Format is 'hh:mm:ss' in 24-hour format |
Mapped to QTime |
|
TIMESTAMP |
Displays a timestamp. Format is 'yyyy-mm-dd hh:mm:ss' |
Mapped to QDateTime |
MySQL Data Types▲
|
MySQL data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
TINYINT |
8 bit signed integer |
typedef qint8 |
|
TINYINT UNSIGNED |
8 bit unsigned integer |
typedef quint8 |
|
SMALLINT |
16-bit signed integer |
typedef qint16 |
|
SMALLINT UNSIGNED |
16-bit unsigned integer |
typedef quint16 |
|
INT |
32-bit signed integer |
typedef qint32 |
|
INT UNSIGNED |
32-bit unsigned integer |
typedef quint32 |
|
BIGINT |
64-bit signed integer |
typedef qint64 |
|
FLOAT |
32-bit Floating Point |
typedef qreal |
|
DOUBLE |
64-bit Floating Point |
Mapped to QString for high precision doubles, otherwise qreal |
|
CHAR |
Character string |
Mapped to QString |
|
VARCHAR |
Character string |
Mapped to QString |
|
TINYTEXT |
Character string |
Mapped to QString |
|
TEXT |
Character string |
Mapped to QString |
|
MEDIUMTEXT |
Character string |
Mapped to QString |
|
LONGTEXT |
Character string |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
all BLOB types |
BLOB |
Mapped to QByteArray |
|
DATE |
Date without Time |
Mapped to QDate |
|
DATETIME |
Date and Time |
Mapped to QDateTime |
|
TIMESTAMP |
Date and Time |
Mapped to QDateTime |
|
TIME |
Time |
Mapped to QTime |
|
YEAR |
Year (int) |
Mapped to QDateTime |
|
ENUM |
Enumeration of Value Set |
Mapped to QString |
Oracle Call Interface Data Types▲
|
Oracle Call Interface data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
NUMBER |
FLOAT, DOUBLE, PRECISIONc REAL |
Mapped to QString for high precision doubles, otherwise qreal |
|
NUMBER(38) |
INTEGER INT SMALLINT |
typedef qint8/16/32/64 |
|
NUMBER(p,s) |
NUMERIC(p,s) DECIMAL(p,s)a |
By default mapping to QString |
|
NVARCHAR2(n) |
Character string (NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n)) |
Mapped to QString |
|
NCHAR(n) |
Character string (NATIONAL CHARACTER(n) NATIONAL CHAR(n) NCHAR(n)) |
Mapped to QString |
|
CHAR(n) |
Character string (CHARACTER(n) CHAR(n)) |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
BLOB |
A binary large object |
Mapped to QByteArray |
|
TIMESTAMP |
Year, month, and day values of date, as well as hour, minute, and second values of time |
Mapped to QDateTime |
ODBC Data Types▲
|
ODBC data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
BIT |
Boolean |
BOOL |
|
TINYINT |
8 bit integer |
typedef qint8 |
|
SMALLINT |
16-bit signed integer |
typedef qint16 |
|
INTEGER |
32-bit signed integer |
typedef qint32 |
|
BIGINT |
64-bit signed integer |
typedef qint64 |
|
REAL |
32-bit Single-precision floating point |
typedef qreal |
|
FLOAT |
64-bit Double floating point |
typedef qreal |
|
DOUBLE |
64-bit Double floating point |
Mapped to QString for high precision doubles, otherwise qreal |
|
CHAR |
Character string |
Mapped to QString |
|
VARCHAR |
Character string |
Mapped to QString |
|
LONGVARCHAR |
Character string |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
DATE |
Character string |
Mapped to QDate |
|
TIME |
Character Time, Character string |
Mapped to QTime |
|
TIMESTAMP |
Character Time, Character string |
Mapped to QDateTime |
PostgreSQL Data Types▲
|
PostgreSQL data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
BOOLEAN |
Boolean |
bool |
|
SMALLINT |
16-bit signed integer |
typedef qint16 |
|
INTEGER |
32-bit signed integer |
typedef qint32 |
|
BIGINT |
64-bit signed integer |
typedef qint64 |
|
REAL |
32-bit variable-precision floating point |
typedef qreal |
|
DOUBLE PRECISION |
64-bit variable-precision floating point |
Mapped to QString for high precision doubles, otherwise qreal |
|
DECIMAL VARIABLE |
user-specified precision, exact |
typedef qreal |
|
NUMERIC VARIABLE |
user-specified precision, exact |
typedef qreal |
|
VARCHAR |
variable-length character string |
Mapped to QString |
|
CHARACTER |
Character string of fixed-length |
Mapped to QString |
|
TEXT |
Character string of variable-length |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
TIMESTAMP |
8 bytes, both date and time |
Mapped to QDateTime |
|
TIMESTAMP |
8 bytes, both date and time, with time zone |
Mapped to QDateTime |
|
DATE |
4 bytes, dates only |
Mapped to QDate |
|
TIME |
8 bytes, times of day only 00:00:00.00 - 23:59:59.99 |
Mapped to QTime |
|
TIME |
12 bytes times of day only, with time zone 00:00:00.00+12 |
Mapped to QDateTime |
QSQLITE SQLite version 3 Data Types▲
|
QSQLITE SQLite version 3 data type |
SQL type description |
Recommended input (C++ or Qt data type) |
|---|---|---|
|
NULL |
NULL value. |
NULL |
|
INTEGER |
Signed integer, stored in 8, 16, 24, 32, 48, or 64-bits depending on the magnitude of the value. |
typedef qint8/16/32/64 |
|
REAL |
64-bit floating point value. |
typedef qreal |
|
TEXT |
Character string (UTF-8, UTF-16BE or UTF-16-LE). |
Mapped to QString |
|
CLOB |
Character large string object |
Mapped to QString |
|
BLOB |
The value is a BLOB of data, stored exactly as it was input. |
Mapped to QByteArray |


