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

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

IBM DB2 数据类型

IBM DB2 数据类型SQL 类型描述建议输入(C++ 或 Qt 数据类型)
小数点16 位带符号整数类型定义 qint16
整数32 位带符号整数类型定义 qint32
BIGINT64 位有符号整数类型定义 qint64
真实32 位单精度浮点数类型定义 qreal
双精度64 位双倍精度浮点数对于高精度双精度,映射到QString ,否则 qreal
浮点64 位双倍精度浮点数类型定义 qreal
字符串固定长度、空端字符串映射为QString
VARCHAR长度不等的空端字符串映射为QString
长 VARCHAR非空端不同长度字符串映射为QString
BLOB非空端二进制字符串,带 4 字节字符串长度指示符映射为QByteArray
CLOB字符大字符串对象映射到QString
日期以下格式的空端字符串:yyyy-mm-dd映射到QDate
时间以下格式的空字符串:hh.mm.ss映射到QTime
时间戳以下格式的空字符串:yyyy-mm-dd-hh.mm.ss.nnnnnn映射到QDateTime

Borland InterBase 数据类型

Borland InterBase 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
布尔布尔型布尔
TINYINT8 位带符号整数类型定义 qint8
小整数16 位有符号整数类型定义 qint16
整数32 位带符号整数类型定义 qint32
BIGINT 长64 位有符号整数类型定义 qint64
REAL FLOAT32 位浮点类型定义 qreal
浮点64 位浮点类型定义 qreal
DOUBLE64 位浮点类型定义 qreal
双精度64 位双倍精度浮点型高精度双倍映射到QString ,否则为 qreal
字符串字符串,Unicode映射到QString
CLOB字符大字符串对象映射到QString
日期显示日期。格式为年-月-日映射到QDate
时间显示时间。格式为 24 小时制的 "hh:mm:ss映射到QTime
时间戳显示时间戳。格式为 "yyyy-mm-dd hh:mm:ss映射到QDateTime

MySQL 数据类型

MySQL 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
TINYINT8 位有符号整数类型定义 qint8
tinyint unsigned8 位无符号整数typedef quint8
小数点16 位有符号整数typedef qint16
smallint unsigned16 位无符号整数typedef quint16
INT32 位有符号整数typedef qint32
INT 无符号32 位无符号整数typedef quint32
BIGINT64 位有符号整数typedef qint64
浮点数32 位浮点数类型定义 qreal
DOUBLE64 位浮点型高精度二进制数映射到QString ,否则为 qreal
字符串字符串映射为QString
VARCHAR字符串映射为QString
TINYTEXT字符串映射为QString
文本字符串映射到QString
中文本字符串映射到QString
长文本字符串映射到QString
CLOB字符大字符串对象映射到QString
所有 BLOB 类型BLOB映射到QByteArray
日期不含时间的日期映射到QDate
日期和时间日期和时间映射到QDateTime
时间日期和时间映射到QDateTime
时间时间映射到QTime
年份年份(int)映射到QDateTime
ENUM值集枚举映射到QString

Oracle 调用接口数据类型

Oracle 调用接口数据类型SQL 类型说明推荐输入(C++ 或 Qt 数据类型)
数字FLOAT、DOUBLE、PRECISIONc REAL高精度二进制时映射到QString ,否则映射到 qreal
NUMBER(38)整数 int smallint类型定义 qint8/16/32/64
NUMBER(p,s)NUMERIC(p,s) DECIMAL(p,s)a映射为QString
NVARCHAR2(n)字符串(NATIONAL CHARCTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n)映射为QString
NCHAR(n)字符串(全国字符(n) 全国 CHAR(n) NCHAR(n)映射为QString
字符串字符串(CHARACTER(n) CHAR(n)映射到QString
CLOB字符大字符串对象映射到QString
BLOB二进制大对象映射到QByteArray
时间戳日期的年、月、日值以及时间的时、分、秒值映射到QDateTime

ODBC 数据类型

ODBC 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
布尔型布尔
TINYINT8 位整数类型定义 qint8
小数点16 位带符号整数类型定义 qint16
整数32 位带符号整数类型定义 qint32
BIGINT64 位有符号整数类型定义 qint64
真实32 位单精度浮点数类型定义 qreal
浮点64 位双倍浮点类型定义 qreal
DOUBLE64 位双倍浮点高精度二进制数映射到QString ,否则为 qreal
字符串字符串映射为QString
VARCHAR字符串映射为QString
字符串字符串映射到QString
CLOB字符大字符串对象映射到QString
日期字符串映射到QDate
时间时间字符、字符串映射到QTime
时间时间字符、字符串映射到QDateTime

PostgreSQL 数据类型

PostgreSQL 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
布尔值布尔型布尔
小数点16 位带符号整数类型定义 qint16
INTEGER32 位有符号整数类型定义 qint32
BIGINT64 位有符号整数类型定义 qint64
真实32 位可变精度浮点数类型定义 qreal
双精度64 位可变精度浮点数对于高精度双精度,映射到QString ,否则为 qreal
十进制变量用户指定精度,精确类型定义 qreal
数值变量用户指定精度,精确typedef qreal
VARCHAR长度可变的字符串映射为QString
字符串固定长度字符串映射为QString
文本长度可变的字符串映射到QString
CLOB字符大字符串对象映射到QString
TIMESTAMP8 个字节,包含日期和时间映射到QDateTime
TIMESTAMP8 个字节,包括日期和时间,含时区映射到QDateTime
日期4 个字节,仅日期映射到QDate
时间8 个字节,仅限一天中的时间 00:00:00.00 - 23:59:59.99映射到QTime
时间12 个字节,仅限一天中的时间,含时区 00:00:00.00+12映射到QDateTime

QSQLITE SQLite 版本 3 数据类型

QSQLITE SQLite 版本 3 数据类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
空值NULL 值。NULL
整数带符号整数,根据值的大小以 8、16、24、32、48 或 64 位存储。typedef qint8/16/32/64
REAL64 位浮点数值。typedef qreal
文本字符串(UTF-8、UTF-16BE 或 UTF-16-LE)。映射到QString
CLOB字符大字符串对象映射到QString
BLOB值是一个 BLOB 数据,存储方式与输入时完全相同。映射到QByteArray

Mimer SQL 数据类型

Mimer SQL 类型SQL 类型描述推荐输入(C++ 或 Qt 数据类型)
小数点16 位带符号整数类型定义 qint16
整数32 位带符号整数类型定义 qint32
INTEGER(n)精度高达 45 位的整数映射为QString
BIGINT64 位有符号整数typedef qint64
REAL32 位单精度 IEEE 浮点数类型定义 float
双精度64 位双倍精度 IEEE 浮点数高精度双精度时映射到QString ,否则映射到 qreal
浮点64 位双精度 IEEE 浮点数高精度二进制数映射到QString ,否则为 qreal
FLOAT(n)精度高达 45 位的浮点数映射到QString
DECIMAL(p,s)精度高达 45 位并带有刻度的小数映射为QString
字符固定长度的 Latin-1 字符串(CHAR 或字符)映射为QString
VARCHAR长度可变的 Latin-1 字符串(VARCHAR 或 CHARACTER VARYING)映射为QString
NCHAR固定长度的 Unicode 字符串(NCHAR 或 NATIONAL CHARACTER)映射为QString
NVARCHAR长度可变的 Unicode 字符串(NVARCHAR 或 NATIONAL CHARACTER VARYING)映射为QString
二进制固定长度的二进制数据映射到QByteArray
可变长度二进制数据(VARBINARY长度可变的二进制数据(VARBINARY 或 BINARY VARYING)映射为QByteArray
BLOB二进制大对象(BLOB 或 BINARY LARGE OBJECT)映射到QByteArray
CLOB拉丁-1 字符大型对象(CLOB 或 CHARACTER 大型对象)映射到QString
NCLOBUnicode 字符大对象(NCLOB 或 NATIONAL CHARACTER LARGE OBJECT)映射到QString
日期由年、月、日组成的日期映射到QDate
时间由小时、分钟和秒组成的时间,可选小数秒映射到QTime
时间戳日期和时间,可选小数秒映射到QDateTime
BUILTIN.UUID通用唯一标识符映射到QUuid
布尔值布尔布尔
年份区间(7)年份,格式为"±yyyyy"(最大精度)映射到QString
区间年(7) 至月年到月,格式为"±yyyyy-mm"(最高精度)映射到QString
区间月(7)月,格式为"±mmmmmmm"(最大精度)映射到QString
日期间隔(7)日,格式为"±dddddd"(最大精度)映射到QString
间隔日(7)至小时日到小时,格式为"±dddddd hh"(最大精度)映射到QString
间隔 日(7)至分日到分钟,格式为"±dddddd hh:mm"(最大精度)映射到QString
间隔日(7)至秒(9)日到秒,格式为"±dddddd hh:mm:ss[.ffffffffffff]"(最高精度)映射到QString
小时间隔(8)小时,格式为'±hhhhhhhhh'(最大精度)映射到QString
间隔小时(8) 转分钟小时到分钟,格式为'±hhhhhhhhh:mm'(最大精度)映射到QString
间隔小时(8)至秒(9)小时到秒,格式为"±hhhhhhhhh:mm:ss[.ffffffffffff]"(最高精度)映射到QString
分钟间隔(10)分钟,格式为"±mmmmmmmmmm"(最大精度)映射到QString
分钟(10)到秒(9)的时间间隔分钟至秒,格式为"±mmmmmmmmmm:ss[.ffffffffffff]"(最高精度)映射到QString
秒间隔(12,9)秒,格式为"±ssssssssssss[.ffffffffffff]"(最高精度)映射到QString

© 2025 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.