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

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

映射到 QString

VARCHAR

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

映射到 QString

LONG VARCHAR

非 null 结尾的可变长度字符字符串

映射到 QString

BLOB

非 null 结尾的可变长度二进制字符串,带有 4 字节字符串长度指示符

映射到 QByteArray

CLOB

字符大型字符串对象

映射到 QString

DATE

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

映射到 QDate

TIME

格式为以下格式的以 null 结尾的字符字符串:hh.mm.ss

映射到 QTime

TIMESTAMP

格式为以下格式的以 null 结尾的字符字符串: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

DATE

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

映射到 QDate

TIME

显示时间。格式是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

TEXT

字符字符串

映射到 QString

MEDIUMTEXT

字符字符串

映射到 QString

LONGTEXT

字符字符串

映射到 QString

CLOB

字符大型字符串对象

映射到 QString

所有 BLOB 类型

BLOB

映射到 QByteArray

DATE

无时间的时间

映射到 QDate

DATETIME

日期和时间

映射到 QDateTime

TIMESTAMP

日期和时间

映射到 QDateTime

TIME

时间

映射到 QTime

年(int)

映射到 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

DATE

字符字符串

映射到 QDate

TIME

字符时间,字符字符串

映射到 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

NUMERIC VARIABLE

用户指定的精度,精确度

typedef qreal

VARCHAR

可变长度字符字符串

映射到 QString

CHARACTER

固定长度字符字符串

映射到 QString

TEXT

可变长度字符字符串

映射到 QString

CLOB

字符大型字符串对象

映射到 QString

TIMESTAMP

8 字节,日期和时间

映射到 QDateTime

TIMESTAMP

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

映射到 QDateTime

DATE

4 字节,仅日期

映射到 QDate

TIME

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

TEXT

字符字符串(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

固定长度 Latin-1 字符串(CHAR 或字符)

映射到 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

Latin-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 DAYS(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