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 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 type | SQL type description | Recommended input (C++ or Qt data type) |
---|---|---|
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 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 | 时间 | Mapped to QTime |
YEAR | Year (int) | Mapped to QDateTime |
ENUM | Enumeration of Value Set | Mapped to QString |
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 type | SQL type description | Recommended input (C++ or Qt data type) |
---|---|---|
BIT | 布尔 | 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 type | SQL type description | Recommended input (C++ or Qt data type) |
---|---|---|
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 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 |