本页内容

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

下表列出了从 Qt 支持的数据库中提取数据时推荐使用的数据类型。请注意,Qt 中使用的类型并不一定能作为特定数据库系统的有效输入类型。 例如,double 类型可能完全适合作为特定数据库中浮点记录的输入,但未必适合作为该数据库输出的存储格式,因为在 C++ 中它将以 64 位精度存储。

IBM DB2 数据类型

IBM DB2 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
SMALLINT16 位有符号整数typedef qint16
INTEGER32 位有符号整数typedef qint32
BIGINT64 位带符号整数typedef qint64
REAL32 位单精度浮点数typedef qreal
双精度64 位双精度浮点数对于高精度双精度数,映射到QString ,否则映射到qreal
FLOAT64位双精度浮点数typedef qreal
CHAR固定长度、以空字符结尾的字符串映射到QString
VARCHAR以空字符结尾的可变长度字符串映射为QString
LONG VARCHAR非空终止的可变长度字符串映射为QString
BLOB带有 4 字节字符串长度指示符、非空终止的可变长度二进制字符串映射到QByteArray
CLOB字符大型字符串对象映射到QString
DATE采用以下格式的以空字符结尾的字符串: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
TINYINT8 位有符号整数typedef qint8
SMALLINT16 位有符号整数typedef qint16
INTEGER32 位有符号整数typedef qint32
BIGINTLONG64 位有符号整数typedef qint64
REAL FLOAT32 位浮点数typedef qreal
FLOAT64 位浮点数typedef qreal
DOUBLE64 位浮点数typedef qreal
双精度64 位双精度浮点数对于高精度双精度浮点数,映射为QString ;否则映射为qreal
VARCHAR 字符串字符串,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 数据类型)
TINYINT8 位有符号整数typedef qint8
TINYINT 无符号8 位无符号整数typedef quint8
SMALLINT16 位有符号整数typedef qint16
SMALLINT 无符号16 位无符号整数typedef quint16
INT32 位有符号整数typedef qint32
INT UNSIGNED32 位无符号整数typedef quint32
BIGINT64 位有符号整数typedef qint64
FLOAT32 位浮点数typedef qreal
DOUBLE64 位浮点数对于高精度双精度浮点数,映射为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
YEAR年 (整数)映射到QDateTime
ENUM值集的枚举映射到QString

Oracle 调用接口数据类型

Oracle 调用接口数据类型SQL 类型描述推荐的输入(C++ 或 Qt 数据类型)
NUMBERFLOAT、DOUBLE、PRECISIONc REAL对于高精度双精度数,映射为QString ;否则映射为qreal
NUMBER(38)整数 INT SMALLINTtypedef 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
TINYINT8 位整数typedef qint8
SMALLINT16 位有符号整数typedef qint16
INTEGER32 位有符号整数typedef qint32
BIGINT64 位有符号整数typedef qint64
REAL32 位单精度浮点数typedef qreal
FLOAT64 位双精度浮点数typedef qreal
DOUBLE64 位双精度浮点数对于高精度双精度数,映射为QString ,否则为qreal
CHAR字符串映射到QString
VARCHAR字符串映射到QString
LONGVARCHAR字符串映射到QString
CLOB大字符串对象映射到QString
DATE字符串映射到QDate
TIME字符时间,字符串映射到QTime
TIMESTAMP字符时间、字符串映射到QDateTime

PostgreSQL 数据类型

PostgreSQL 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
BOOLEAN布尔型bool
SMALLINT16 位有符号整数typedef qint16
INTEGER32 位有符号整数typedef qint32
BIGINT64 位有符号整数typedef qint64
REAL32 位可变精度浮点数typedef qreal
双精度64 位可变精度浮点数对于高精度双精度数,映射为QString ;否则为qreal
十进制可变用户指定的精度,精确typedef qreal
数值变量用户指定的精度,精确typedef qreal
VARCHAR可变长度的字符串映射到QString
CHARACTER固定长度的字符串映射为QString
TEXT可变长度的字符串映射到QString
CLOB大字符串对象映射到QString
TIMESTAMP8字节,包含日期和时间映射到QDateTime
TIMESTAMP8字节,包含日期和时间,并包含时区映射到QDateTime
DATE4字节,仅包含日期映射到QDate
TIME8 字节,仅限时间 00:00:00.00 - 23:59:59.99映射至QTime
TIME12 字节,仅表示时间,含时区 00:00:00.00+12映射到QDateTime

QSQLITE SQLite 3 版数据类型

QSQLITE SQLite 3.0 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
NULLNULL 值。NULL
INTEGER有符号整数,根据数值的绝对值大小,分别以 8、16、24、32、48 或 64 位存储。typedef qint8/16/32/64
REAL64 位浮点数。typedef qreal
TEXT字符串(UTF-8、UTF-16BE 或 UTF-16-LE)。映射到QString
CLOB大字符串对象映射到QString
BLOB该值是一个数据 BLOB,其存储方式与输入时完全一致。映射到QByteArray

Mimer SQL 数据类型

Mimer SQL 类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
SMALLINT16 位有符号整数typedef qint16
INTEGER32 位有符号整数typedef qint32
INTEGER(n)精度最高为 45 位的整数映射到QString
BIGINT64 位有符号整数typedef qint64
REAL32 位单精度 IEEE 浮点数typedef float
双精度64 位双精度 IEEE 浮点数对于高精度双精度数值,映射到QString ,否则映射到qreal
FLOAT64 位双精度 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
CLOBLatin-1 字符大对象(CLOB 或 CHARACTER LARGE OBJECT)映射为QString
NCLOBUnicode 字符大对象 (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

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.