Qt支持的数据库系统的数据类型

数据库系统推荐的数据类型

IBM DB2 数据类型

IBM DB2 数据类型

SQL 类型描述

推荐的输入(C++ 或 Qt 数据类型)

SMALLINT

16位有符号整数

typedef qint16

INTEGER

32位有符号整数

typedef qint32

BIGINT

64位有符号整数

typedef qint64

REAL

32位单精度浮点数

typedef qreal

DOUBLE PRECISION

64位双精度浮点数

映射到QString以支持高精度双精度浮点数,否则使用qreal

FLOAT

64位双精度浮点数

typedef qreal

CHAR

固定长度,以空字符结尾的字符串

映射到QString

VARCHAR

以空字符结尾的可变长度字符串

映射到QString

LONG VARCHAR

非空终止的可变长度字符串

映射到 QString

BLOB

非空终止的可变二进制字符串,带有4字节字符串长度指示符

映射到QByteArray

CLOB

字符大字符串对象

映射到QString

日期

以下格式的以空字符结尾的字符串:yyyy-mm-dd

映射到 QDate

TIME

以下格式的空终止字符串:hh.mm.ss

映射到 QTime

TIMESTAMP

以空字符结尾的字符串,格式如下:yyyy-mm-dd-hh.mm.ss.nnnnnn

映射到 QDateTime

Borland InterBase 数据类型

Borland InterBase 数据类型

SQL 类型描述

推荐输入(C++ 或 Qt 数据类型)

BOOLEAN

布尔值

bool

TINYINT

8位有符号整数

typedef qint8

SMALLINT

16位有符号整数

typedef qint16

INTEGER

32位有符号整数

typedef qint32

BIGINT LONG

64位有符号整数

typedef qint64

REAL FLOAT

32位浮点数

typedef qreal

FLOAT

64位浮点数

typedef qreal

DOUBLE

64位浮点数

typedef qreal

DOUBLE PRECISION

64位双精度浮点数

映射到QString以支持高精度双精度浮点数,否则使用qreal

VARCHAR STRING

字符串,Unicode

映射到QString

CLOB

字符大字符串对象

映射到QString

日期

显示日期。格式:'yyyy-mm-dd'

映射到 QDate

时间

显示时间。格式为24小时制的‘hh:mm:ss’

映射到QTime

TIMESTAMP

显示一个时间戳。格式为‘yyyy-mm-dd hh:mm:ss’

映射到QDateTime

MySQL 数据类型

MySQL 数据类型

SQL 类型描述

推荐输入(C++ 或 Qt 数据类型)

TINYINT

8位有符号整数

typedef qint8

TINYINT UNSIGNED

8位无符号整数

typedef quint8

SMALLINT

16位有符号整数

typedef qint16

SMALLINT UNSIGNED

16位无符号整数

typedef quint16

INT

32位有符号整数

typedef qint32

INT UNSIGNED

32位无符号整数

typedef quint32

BIGINT

64位有符号整数

typedef qint64

FLOAT

32位浮点数

typedef qreal

DOUBLE

64位浮点数

对于高精度双精度数映射到QString,否则映射到qreal

CHAR

字符串

映射到QString

VARCHAR

字符串

映射到QString

TINYTEXT

字符串

映射到QString

文本

字符串

映射到QString

MEDIUMTEXT

字符串

映射到QString

LONGTEXT

字符串

映射到QString

CLOB

字符大字符串对象

映射到QString

所有BLOB类型

BLOB

映射到QByteArray

日期

不带时间的日期

映射到 QDate

DATETIME

日期和时间

映射到 QDateTime

TIMESTAMP

日期和时间

映射到 QDateTime

时间

时间

映射到QTime

YEAR

年份 (整数)

映射到 QDateTime

ENUM

值集的枚举

映射到QString

Oracle 调用接口数据类型

Oracle 调用接口数据类型

SQL 类型描述

推荐的输入(C++ 或 Qt 数据类型)

NUMBER

FLOAT, DOUBLE, PRECISIONc REAL

映射到QString以支持高精度双精度浮点数,否则使用qreal

NUMBER(38)

INTEGER INT SMALLINT

typedef qint8/16/32/64

NUMBER(p,s)

NUMERIC(p,s) DECIMAL(p,s)a

映射到 QString

NVARCHAR2(n)

字符串(NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n))

映射到QString

NCHAR(n)

字符串 (NATIONAL CHARACTER(n) NATIONAL CHAR(n) NCHAR(n))

映射到 QString

CHAR(n)

字符串 (CHARACTER(n) CHAR(n))

映射到 QString

CLOB

字符大字符串对象

映射到QString

BLOB

二进制大对象

映射到 QByteArray

TIMESTAMP

日期的年、月、日值,以及时间的小时、分钟和秒值

映射到 QDateTime

ODBC 数据类型

ODBC 数据类型

SQL 类型描述

推荐的输入(C++ 或 Qt 数据类型)

BIT

布尔

BOOL

TINYINT

8位整数

typedef qint8

SMALLINT

16位有符号整数

typedef qint16

INTEGER

32位有符号整数

typedef qint32

BIGINT

64位有符号整数

typedef qint64

REAL

32位单精度浮点数

typedef qreal

FLOAT

64位双精度浮点数

typedef qreal

DOUBLE

64位双精度浮点数

映射到QString以支持高精度双精度浮点数,否则使用qreal

CHAR

字符串

映射到QString

VARCHAR

字符串

映射到QString

LONGVARCHAR

字符串

映射到 QString

CLOB

字符大字符串对象

映射到QString

日期

字符串

映射到QDate

时间

字符时间,字符串

映射到QTime

TIMESTAMP

字符时间,字符串

映射到 QDateTime

PostgreSQL 数据类型

PostgreSQL 数据类型

SQL 类型描述

推荐输入(C++ 或 Qt 数据类型)

BOOLEAN

布尔值

bool

SMALLINT

16位有符号整数

typedef qint16

INTEGER

32位有符号整数

typedef qint32

BIGINT

64位有符号整数

typedef qint64

REAL

32位可变精度浮点数

typedef qreal

DOUBLE PRECISION

64位可变精度浮点数

映射到QString以支持高精度双精度浮点数,否则使用qreal

DECIMAL VARIABLE

用户指定的精度,精确

typedef qreal

数值变量

用户指定的精度,精确

typedef qreal

VARCHAR

可变长度字符串

映射到QString

CHARACTER

固定长度的字符串

映射到QString

文本

可变长度的字符串

映射到QString

CLOB

字符大字符串对象

映射到QString

TIMESTAMP

8字节,包含日期和时间

映射到QDateTime

TIMESTAMP

8字节,包含日期和时间,带时区

映射到QDateTime

日期

4字节,仅日期

映射到QDate

时间

8字节,仅表示一天中的时间 00:00:00.00 - 23:59:59.99

映射到 QTime

TIME

12字节仅表示一天中的时间,带时区 00:00:00.00+12

映射到 QDateTime

QSQLITE SQLite 版本 3 数据类型

QSQLITE SQLite 版本 3 数据类型

SQL 类型描述

推荐输入(C++ 或 Qt 数据类型)

NULL

NULL值。

NULL

INTEGER

有符号整数,根据值的大小存储在8、16、24、32、48或64位中。

typedef qint8/16/32/64

REAL

64位浮点数值。

typedef qreal

文本

字符串(UTF-8、UTF-16BE 或 UTF-16-LE)。

映射到 QString

CLOB

字符大字符串对象

映射到QString

BLOB

该值是一个BLOB数据,存储时与输入时完全相同。

映射到QByteArray

Mimer SQL 数据类型

Mimer SQL 类型

SQL 类型描述

推荐的输入(C++ 或 Qt 数据类型)

SMALLINT

16位有符号整数

typedef qint16

INTEGER

32位有符号整数

typedef qint32

INTEGER(n)

最多45位精度的整数

映射到QString

BIGINT

64位有符号整数

typedef qint64

REAL

32位单精度IEEE浮点数

typedef float

DOUBLE PRECISION

64位双精度IEEE浮点数

映射到QString以支持高精度双精度数,否则使用qreal

FLOAT

64位双精度IEEE浮点数

对于高精度双精度数映射到QString,否则映射到qreal

FLOAT(n)

浮点数,精度可达45位

映射到QString

DECIMAL(p,s)

最多45位精度的十进制数

映射到QString

CHAR

固定长度的拉丁-1字符字符串(CHAR 或 character)

映射到 QString

VARCHAR

可变长度的Latin-1字符串(VARCHAR或CHARACTER VARYING)

映射到QString

NCHAR

固定长度的Unicode字符串(NCHAR或NATIONAL CHARACTER)

映射到QString

NVARCHAR

可变长度Unicode字符串(NVARCHAR或NATIONAL CHARACTER VARYING)

映射到QString

BINARY

固定长度的二进制数据

映射到 QByteArray

VARBINARY

可变长度二进制数据(VARBINARY 或 BINARY VARYING)

映射到 QByteArray

BLOB

二进制大对象(BLOB 或 BINARY LARGE OBJECT)

映射到 QByteArray

CLOB

拉丁-1字符大对象(CLOB或CHARACTER LARGE OBJECT)

映射到QString

NCLOB

Unicode字符大对象(NCLOB或NATIONAL CHARACTER LARGE OBJECT)

映射到QString

DATE

由年、月和日组成的日期

映射到 QDate

TIME

时间,包括小时、分钟、秒,可选的小数秒

映射到 QTime

TIMESTAMP

带有可选小数秒的日期和时间

映射到 QDateTime

BUILTIN.UUID

通用唯一标识符

映射到 QUuid

BOOLEAN

布尔值

bool

INTERVAL YEAR(7)

年份,格式为‘±yyyyyyy’(最大精度)

映射到QString

INTERVAL YEAR(7) TO MONTH

年到月,格式为‘±yyyyyyy-mm’(最大精度)

映射到QString

INTERVAL MONTH(7)

月份,格式为‘±mmmmmmm’(最大精度)

映射到QString

INTERVAL DAY(7)

天,格式为‘±ddddddd’(最大精度)

映射到QString

INTERVAL DAY(7) TO HOUR

天到小时,格式为‘±ddddddd hh’(最大精度)

映射到QString

INTERVAL DAY(7) TO MINUTE

天到分钟,格式为‘±ddddddd hh:mm’(最大精度)

映射到QString

INTERVAL DAY(7) TO SECOND(9)

天到秒,格式为‘±ddddddd hh:mm:ss[.fffffffff]’(最大精度)

映射到QString

INTERVAL HOUR(8)

小时,格式为‘±hhhhhhhh’(最大精度)

映射到QString

INTERVAL HOUR(8) TO MINUTE

小时到分钟,格式为‘±hhhhhhhh:mm’(最大精度)

映射到QString

INTERVAL HOUR(8) TO SECOND(9)

小时到秒,格式为‘±hhhhhhhh:mm:ss[.fffffffff]’(最大精度)

映射到QString

INTERVAL MINUTE(10)

分钟,格式为‘±mmmmmmmmmm’(最大精度)

映射到QString

INTERVAL MINUTE(10) TO SECOND(9)

分钟到秒,格式为‘±mmmmmmmmmm:ss[.fffffffff]’(最大精度)

映射到QString

INTERVAL SECOND(12,9)

秒,格式为‘±ssssssssssss[.fffffffff]’(最大精度)

映射到QString