Data Types for Qt-supported Database Systems

Recommended data types for database systems

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

Sybase Adaptive Server Data Types

Sybase Adaptive Server data type

SQL type description

Recommended input (C++ or Qt data type)

BINARY

Describes a fixed-length binary value up to 255 bytes in size.

Mapped to QByteArray

CHAR

Character String

Mapped to QString

DATETIME

Date and time. Range: 1753-01-01 00:00:00 through 9999-12-31 23:59:59.

Mapped to QDateTime

NCHAR

Character String of fixed length

Mapped to QString

NVARACHAR

Character String of variable length

Mapped to QString

VARCHAR

Character String of fixed length

Mapped to QString

CLOB

Character large string object

Mapped to QString

TIMESTAMP

A unique number within a database

Mapped to QString

SMALLDATETIME

Date and time. Range: 1900-01-01 00:00 through 2079-12-31 23:59

Mapped to QDateTime

UNICHAR

Character String of fixed length.(Unicode)

Mapped to QString

UNIVARCHAR

Character String of variable length.(Unicode)

Mapped to QString

VARBINARY

Describes a variable-length binary value up to 255 bytes in size

Mapped to QByteArray

SQLite Version 2

SQLite version 2 is “typeless”. This means that you can store any kind of data you want in any column of any table, regardless of the declared data type of that column. We recommend that you map the data to QString .